Tuesday, June 06, 2006

Table partitioning in MySQL 5.1

I'm very excited that MySQL implements this feature in version 5.1.x, all the new features are bridging the gap between open source and propietary RDMS like Oracle, this feature particularly makes MySQL suitable for Data warehouse systems, not just OLTP systems as it's well known.

There are a lot of benefits in the use of table partitioning like:

- Eases the administration of the tables
- Reduces time taken in large amount of DML
- Improves the response of some queries

Table partitioning allows the DBA to define how the table and the data cointained could be stored phisically, while remaining the logical structure the same. For example a table with data of 5 years (theorically a large table) could be splitted (depending on the needs) in 5 partitions, reducing the time taken by some queries that may fit into a particular year, easing the administration of the table when the data from a year needs to be dropped or moved, enhancing the response for bulk DMLs in different years, etc.

There are some features not available yet like partitioning by range on a date column (http://bugs.mysql.com/bug.php?id=17540) and one that i reported, i couldn't find how to get data from a specific partition rather than knowing wich partition a query accesses ( http://bugs.mysql.com/bug.php?id=20279), but i think is just a matter of time.

Sunday, June 04, 2006

Memory requirement installing oracle xe on centos

I was trying to install oracle xe on a centos 4.2 box ( 256 RIMM memory, pentium 4 1.70 GHz), but i got stucked with a memory requirement error :


[root@localhost ~]# rpm -Uvh /root/oracle-xe-10.2.0.1-0.1.i386.rpm
Preparing… ########################################### [100%]
Oracle Database 10g Express Edition requires a minimum of 256 MB of physical
memory (RAM). This system has 249 MB of RAM and does not meet minimum
requirements.
error: %pre(oracle-xe-10.2.0.1-0.1.i386) scriptlet failed, exit status 1
error: install: %pre scriptlet failed (2), skipping oracle-xe-10.2.0.1-0.1


I don't know why linux reports 249Mb and where are the other 7 Mb since there is a AGP video card of 64Mb and i didn't have that problem with the windows version, but after playing around with the rpm 'install-options' i found the ones that let me pass that requirement:


[root@localhost ~]# rpm -Uvh --force --nopre /root/oracle-xe-10.2.0.1-0.1.i386.rpm
Preparing... ########################################### [100%]
1:oracle-xe ########################################### [100%]
Executing Post-install steps..........
You must run '/etc/init.d/oracle-xe configure' as root user to
configure the database.