Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
fb3d3e18
Commit
fb3d3e18
authored
Dec 10, 2001
by
tonu@volk.internalnet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Misc fixes
parent
6b02f13c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
56 additions
and
56 deletions
+56
-56
BUILD/compile-pentium-debug-openssl
BUILD/compile-pentium-debug-openssl
+1
-1
mysys/raid.cc
mysys/raid.cc
+55
-55
No files found.
BUILD/compile-pentium-debug-openssl
View file @
fb3d3e18
...
...
@@ -8,6 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings"
cxx_warnings
=
"
$cxx_warnings
$debug_extra_warnings
"
extra_configs
=
"
$pentium_configs
$debug_configs
"
extra_configs
=
"
$extra_configs
--with-debug=full --with-vio --with-openssl"
extra_configs
=
"
$extra_configs
--with-debug=full --with-vio --with-openssl
--without-innodb
"
.
"
$path
/FINISH.sh"
mysys/raid.cc
View file @
fb3d3e18
...
...
@@ -14,61 +14,61 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/*
--------------------------------------------------------*
*
*
RAID support for MySQL. Raid 0 (stiping) only implemented yet.
*
*
Why RAID? Why it must be in MySQL?
*
*
This is because then you can:
*
1. Have bigger tables than your OS limit. In time of writing this
*
we are hitting to 2GB limit under linux/ext2
*
2. You can get more speed from IO bottleneck by putting
*
Raid dirs on different physical disks.
*
3. Getting more fault tolerance (not implemented yet)
*
*
Why not to use RAID:
*
*
1. You are losing some processor power to calculate things,
*
do more syscalls and interrupts.
*
*
Functionality is supplied by two classes: RaidFd and RaidName.
*
RaidFd supports funtionality over file descriptors like
*
open/create/write/seek/close. RaidName supports functionality
*
like rename/delete where we have no relations to filedescriptors.
*
RaidName can be prorably unchanged for different Raid levels. RaidFd
*
have to be virtual I think ;).
*
You can speed up some calls in MySQL code by skipping RAID code.
*
For example LOAD DATA INFILE never needs to read RAID-ed files.
*
This can be done adding proper "#undef my_read" or similar undef-s
*
in your code. Check out the raid.h!
*
*
Some explanation about _seek_vector[]
*
This is seek cache. RAID seeks too much and we cacheing this. We
*
fool it and just storing new position in file to _seek_vector.
*
When there is no seeks to do, we are putting RAID_SEEK_DONE into it.
*
Any other value requires seeking to that position.
*
*
TODO:
*
*
*
- Implement other fancy things like RAID 1 (mirroring) and RAID 5.
*
Should not to be very complex.
*
*
- Optimize big blob writes by resorting write buffers and writing
*
big chunks at once instead of doing many syscalls. - after thinking I
*
found this is useless. This is because same thing one can do with just
*
increasing RAID_CHUNKSIZE. Monty, what do you think? tonu.
*
*
- If needed, then implement missing syscalls. One known to miss is stat();
*
*
- Make and use a thread safe dynamic_array buffer. The used one
*
will not work if needs to be extended at the same time someone is
*
accessing it.
*
*
*
tonu@mysql.com & monty@mysql.com
*
--------------------------------------------------------*
/
/*
RAID support for MySQL. Raid 0 (stiping) only implemented yet.
Why RAID? Why it must be in MySQL?
This is because then you can:
1. Have bigger tables than your OS limit. In time of writing this
we are hitting to 2GB limit under linux/ext2
2. You can get more speed from IO bottleneck by putting
Raid dirs on different physical disks.
3. Getting more fault tolerance (not implemented yet)
Why not to use RAID:
1. You are losing some processor power to calculate things,
do more syscalls and interrupts.
Functionality is supplied by two classes: RaidFd and RaidName.
RaidFd supports funtionality over file descriptors like
open/create/write/seek/close. RaidName supports functionality
like rename/delete where we have no relations to filedescriptors.
RaidName can be prorably unchanged for different Raid levels. RaidFd
have to be virtual I think ;).
You can speed up some calls in MySQL code by skipping RAID code.
For example LOAD DATA INFILE never needs to read RAID-ed files.
This can be done adding proper "#undef my_read" or similar undef-s
in your code. Check out the raid.h!
Some explanation about _seek_vector[]
This is seek cache. RAID seeks too much and we cacheing this. We
fool it and just storing new position in file to _seek_vector.
When there is no seeks to do, we are putting RAID_SEEK_DONE into it.
Any other value requires seeking to that position.
TODO:
- Implement other fancy things like RAID 1 (mirroring) and RAID 5.
Should not to be very complex.
- Optimize big blob writes by resorting write buffers and writing
big chunks at once instead of doing many syscalls. - after thinking I
found this is useless. This is because same thing one can do with just
increasing RAID_CHUNKSIZE. Monty, what do you think? tonu.
- If needed, then implement missing syscalls. One known to miss is stat();
- Make and use a thread safe dynamic_array buffer. The used one
will not work if needs to be extended at the same time someone is
accessing it.
tonu@mysql.com & monty@mysql.com
*/
#ifdef __GNUC__
#pragma implementation // gcc: Class implementation
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment