MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by Sun Microsystems.

Journal Entries

Avatar

django-sane-testing 0.5.4 out, working around django+ContentType+MySQL "bug", upgrade recommended. Almad — about 1 month ago

Avatar

Created MySQL5InnoDBDialectUTF8 (extending the default hibernate MySQL5InnoDBDialect) for pulse due to various encoding problems with mysql on managed servers which forces table creation with InnoDB engine and UTF-8 encoding. Source available in SVN (http://tinyurl.com/plpnf3) t_weber — about 1 month ago

Avatar

karsten: my TYPO3 / commerce update stalled on some SQL issues - MySQL runs in ANSI mode here, thus double quotes must not be used for values... robertlemke — about 1 month ago

Avatar

The new project website for pulse http://pulse.torweg.org is being developed at the moment and is scheduled to go live within April '09. The website will be built on debian with apache, tomcat, mysql and of course pulse as the cms system. t_weber — 4 months ago

Avatar

mysql Perfomance Tuning Primer Script (http://www.day32.com/MySQL/) = Love MSeven — about 1 year ago

See All Journal Entries


Ratings & Reviews

Community Rating
4.3/5.0

Based on 1089 user ratings.

Your Rating

Click to rate this project.

about 1 year ago Avatar
Good for some things, but questionable for others

    by einhverfr

Again in the Good/Bad/summary format.

The Good:
MySQL is a nice light-weight RDBMS which took the light-weight content management/data-driven web site by storm in the late 1990's. It is extremely fast for simple non-transactional workloads (as one would expect from a data-driven web stie) and has a number of cool application-development features which are generally beyond the scope of an RDBMS (such as HEAP tables which are not ... [More] ACID compliant).

The Bad:
MySQL does not offer good performance on well-normalized datasets with many joins (it uses a simple planner which is less able to handle more complex planning problems). Furthermore, the data integrity features of MySQL can generally be turned off by applications so they cannot be relied upon.

Also, under certain circumstnaces, MySQL will silently ignore valid ISO SQL primary/foreign key designations, or create tables with non-ACID-compliant types.

Summary:
I gave this product a 3 out of five because it does not handle traditional RDBMS tasks well, but offers developers a number of options in creating light-weight applications which do not rely on these features too much. [Less]

10 of 13 users found the following review helpful. Was this review helpful to you? |

8 days ago Avatar
Nice free software

    by sureshkrshukla

Its free and good quality. I use it for self-study needs. This is my first choice for open source project back-end.

Lightweight and robust !!!

Was this review helpful to you? |

Links

7 links submitted so far. Submit your own links.

News

Edit RSS feeds.

    Do you need the InnoDB doublewrite buffer?

    Prior to updating pages in place, InnoDB writes the data to a sequential log. If there is a crash when the pages are updated in place the writes are replayed using the data from the sequential log. Note that this log is space reserved in the system ... [More] tablespace and is not the InnoDB transaction log. This guards against partial page writes (torn pages, fractured writes).

    This feature has a cost. Is it needed? I am not an expert on Oracle, DB2 and SQL Server but I don't think they have anything equivalent to this. All of them can detect partial page writes by storing a checksum on each disk page or by storing a counter at the start and end of the page. But how do they recover from partial page writes?

    The real problem that must be solved is recovery from anything that may cause page corruption on disk. There are many sources of corruption and I think that partial page writes are far from the most frequent. Oracle provides tools that can recover a page using flashback, archived backups and archived redo logs. Such a feature does not exist for InnoDB today.

    How much work is it to build a tool to recover corrupt disk pages for InnoDB so that we can disable the doublewrite buffer? [Less]

    Filtering by table is now possible with WaffleGrid

    Since I have been a home recently, I put some time correcting bugs in WaffleGrid and adding new features. Thanks to gdb, I have been able to understand a silly bug that was affecting WaffleGrid with sysbench but, weird enough, not with dbt2. ... [More] Everything is in the way connections are established. I will blog more about that soon.
    Regarding the new features, it is now possible to choose which tables you want to push to memcached. For that purpose, two new parameters have been introduce:

    innodb_memcached_table_filter_enable = 0 | 1 (default to 0)

    to enable the filtering and

    innodb_memcached_table_list = db1/table1,db2/table2

    to list the tables. This feature is filtering based on the space id so, innodb_file_per_table has to be set. Right now, the association table space_id is done only at startup so, the table has to exist. Also, since an alter table change the space_id… you need to restart MySQL to restore the filtering after an alter table. Eventually, it will be more dynamic. Here are some tests done with innodb_memcached_enable = 2, caching around the disk IO, sbtest is in the filter list while sbtest_non_waffle is not. I really like mode 2, it works with the normal memcached and set to memcached are handled by the IO write threads of InnoDB, so they happened in the background. Both tables have exactly the same structure and content (100k rows, sysbench oltp test).

    mysql> select avg(length(pad)) from sbtest;select avg(length(pad)) from sbtest_non_waffle;
    +------------------+
    | avg(length(pad)) |
    +------------------+
    | 50.0000 |
    +------------------+
    1 row in set (0.31 sec)

    +------------------+
    | avg(length(pad)) |
    +------------------+
    | 50.0000 |
    +------------------+
    1 row in set (0.98 sec)

    Not bad, one third of the time and no disk IO, the data was already in memcached. For the test, the buffer pool is at 8M (I tweaked 5.4 to lower the minimum). Data length and Index length for both table is approximately 24 MB. Then, just to prove my point about altering tables:

    mysql> alter table sbtest engine=innodb;
    Query OK, 100000 rows affected (8.50 sec)
    Records: 100000 Duplicates: 0 Warnings: 0

    mysql> select avg(length(pad)) from sbtest;select avg(length(pad)) from sbtest_non_waffle;
    +------------------+
    | avg(length(pad)) |
    +------------------+
    | 50.0000 |
    +------------------+
    1 row in set (0.92 sec)

    +------------------+
    | avg(length(pad)) |
    +------------------+
    | 50.0000 |
    +------------------+
    1 row in set (0.96 sec)

    As you can see, the timings are now similar. If you want to play with WaffleGrid, grab the current code from launchpad at lp:~y-trudeau/wafflegrid/cream-5.4-tree. It is a full tree so… be patient. Use the build scripts showing memc in their name. For more information, you can also go to www.wafflegrid.com.
    Remember, the project is still fairly young, don’t put any valuable data on WaffleGrid yet. Coming next, apart from making the table filtering more dynamic, I would like to add an exclusion list instead of just the current inclusion list. Of course, we also need to test WaffleGrid much more and for that we need help. If you test and find bugs, please use Launchpad at https://code.launchpad.net/wafflegrid to report the bugs you found. [Less]

    Helping The US Department Of Justice

    I was yesterday, for the second time, on a call with the US Department Of Justice regarding how the Oracle / Sun deal could affect Open Source software, in particular MySQL and Java.I told them that I still think that my original scenarios from April ... [More] are still valid. What has been worrying me lately is that Oracle has been quite vocal regarding their plans for most things related to the deal, like Sun hardware and Java, but has not said anything related to their plans regarding MySQL.During the MySQL conference and at other conferences afterwards I have been approached by numerous MySQL users that have been very worried about the future of MySQL. From this it's clear that most MySQL users are very interested to know what Oracle is up to, but those that have tried to inquire Oracle about this, myself included, have been met with complete silence.I strongly encourage Oracle to start talking publicly about their intentions regarding MySQL. If your plan is to continue developing MySQL as a true open source project and take it to new heights, I think it's critical to inform us, the MySQL community, about it ASAP. The more positive information we get, the more supportive we, the MySQL developers and users, can be about the deal.For those that are worried about the future of OSS software as part of the Oracle / Sun deal, and the affect (both good and bad) it may have on their business, the US Department of Justice is encouraging companies that are dependent on MySQL / Java to contact them and tell them how the deal may affect their business. The more information the department gets, the better equipped they will be in deciding what their recommendation for the deal will be.You can either contact the Department of Justice directly or send an email to me at 'info at askmonty dot org' and I will forward it to those in charge.We at Monty Program Ab and The Open Database alliance are doing our best to ensure MySQL's future survival as one of the leading open source databases. By making your voice heard, you can make all our lives easier! [Less]

    Workbench loses its crutches

    When MySQL Workbench was still in alpha and beta stages, some dark murmurs in the community suggested that the OSS (free) version was crippleware, part of an evil plot to make you pony up $99 if you wanted to get any real benefit. Closed source and ... [More] profits and bears, oh my!
    The new GA release of Workbench gets some of those “crippled” features back. In particular, the OSS version now allows connections to a live server, so you can reverse and forward engineer without having to go through a dump file. I also have it on good authority that the OSS version will be able to print diagrams directly, instead of you having to export an image.
    If you see any merit in a visual diagram of your database, but you wrote off Workbench based on earlier experiences, give it another try now. [Less]

    Free Book Giveaway

    Now that I have your attention, this is actually an update to my last post.  In about four hours I have an interview with Brian Aker for the new podcast I am putting together in conjunction with Open Source Database Magazine.  While I have enough ... [More] questions for a good interview, I am always looking for more possibilities. Yesterday I said I would randomly choose a name from people who emailed me or commented on the post with a question for Brian about Drizzle and the winner would receive a free copy of MySQL Administrator’s Bible. While I have received some response, it has not been overwhelming. So here is your last chance!! Send me an email (bmurphy AT paragon-cs.com) or comment on the post. Throw your hat in  ring.  As I said previously, because of shipping cost, I have to limit this to people in the United States.
    Good luck!! [Less]

Read all MySQL articles…

Download Page
279 downloads

Who uses MySQL?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar

Who contributes to MySQL?

Avatar Avatar Anon32 Anon32 Anon32 Anon32 Anon32 Anon32
I'm a contributor

Who manages MySQL?

I'm a manager

Where in the world?




People who use MySQL also use:


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 1,044,205
Effort (est.) 304 Person Years
Avg. Salary $ year
$ 16,693,970