Archive for the ‘Announcements’ Category

MySQL Workbench 5.2.27 GA Available

Сентябрь 1st, 2010

We’re proud to announce the next release of MySQL Workbench, version 5.2.27. This is the second maintenance release for 5.2 GA (Generally Available). This maintenance release does not introduce any new features, but focuses on general product improvement and usability.  We hope you will make MySQL Workbench your preferred tool for Design, Development, and Administration of your MySQL database applications.

As always, we want to thank everyone for the great feedback we have received. This helps us to continuously improve and extend the functionality and stability of MySQL Workbench – please keep up on approaching us with any ideas to develop our product even further.

MySQL Workbench 5.2 GA

  • Data Modeling
  • Query (replaces the old MySQL Query Browser)
  • Administration (replaces the old MySQL Administrator)

Please get your copy from our Download site. Sources and binary packages are available for several platforms, including Windows, Mac OS X and Linux.

http://dev.mysql.com/downloads/workbench/

To get started quickly, please take a look at this short tutorial.

MySQL Workbench 5.2 RC Tutorial

http://wb.mysql.com/?p=406

Workbench Documentation can be found here.

http://dev.mysql.com/doc/workbench/en/index.html

In addition to the new Query/SQL Development and Administration modules, version 5.2 features improved stability and performance – especially in Windows, where OpenGL support has been enhanced and the UI was optimized to offer better responsiveness.
This release also includes improvements to the scripting capabilities of the SQL Editor. You can read more about it in

http://wb.mysql.com/workbench/doc/

For a detailed list of resolved issues, see the change log.

http://dev.mysql.com/doc/workbench/en/wb-change-history.html

If you need any additional info or help please get in touch with us.

Post in our forums, leave comments on our blog pages or if you want to talk to us directly you can visit us on our IRC channel #workbench on irc.freenode.net.

- The MySQL Workbench Team


PlanetMySQL Voting: Vote UP / Vote DOWN

Multi Slicing

Август 25th, 2010

The basic data structure that powers databases is called a B-tree. This is where you actually store the user’s data. B-trees are great because you can put huge amounts of data in them and access remains fast. In fact, the naive strategy of putting a whole data set into one B-Tree doesn’t break down because of access time. It does, however, break down when you try to support a multiaccess paradigm.

Six years ago, multiaccess was nice. Now that processors have multiple cores, it’s crucial. Four cores fighting over one B-tree means a lot of wasted processor time. In a multiaccess scheme, different cores can concurrently access data. This gets tricky. You can go looking for a piece of data only to find that someone has moved it since you started; that’s trouble: for all you know it was deleted. You could start the search over, but without guarantees—maybe you’ll get unlucky and it will be plucked out from under you again. How do you know when to give up? Your database is now blazingly fast, but also broken. We handle this with a locking scheme.

With a locking scheme, you gain the ability to say: “Okay, I’m going to go look for this piece of data, no one else is allowed to touch it.” If someone else wants to get at that piece of data before you’re done—they have to wait. The database is fixed, but it’s not quite as blazingly fast as it used to be. The problem is that sometimes cores have to wait for data, and while they wait they’re just twiddling their thumbs. There isn’t a good way to prevent these waits, but we can put that time toward something productive.

The problem isn’t the waiting, it’s the lack of things to do during that time. The solution is to slice up our B-Tree into several smaller B-Trees. Every possible key has one and only one slice that it can ever be stored in. We do this with hashing. Now even if a core locks up an entire B-Tree, you can still do work in the intervening time.

Now that we support multiple slices, the question is: how many slices do we actually want? There are downsides to both extremes: too many slices and the efficiency of the B-Tree structure is underused, too few and CPUs are underused. At RethinkDB we’ve found experimentally that 4 is a sufficiently high value. The quick back-of-the-envelope calculation is that an unsliced B-Tree will defy computation about 2 \% of the time. That translates to an hour of wasted CPU time every 2 days. This waste falls off very sharply with our innovation: 2 slices are busy: .02^2 = 0.0004 (just .04 \% of the time) and 4 slices are busy .02^4 = 0.00000016 or 0.000016 \% . At which point it will take you 700 years to waste an hour of CPU time. That’s a number we can live with.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL Workbench 5.2.26 GA Available

Август 7th, 2010

We’re happy to announce the release of MySQL Workbench 5.2.26. This is the first maintenance release for 5.2 GA (Generally Available). We have fixed a number of bugs and made some improvements under the hood. We hope you will make MySQL Workbench your preferred tool for Design, Development, and Administration of your MySQL database applications.

We want to thank everyone for the great feedback we have received. This helps us to continuously improve and extend the functionality and stability of MySQL Workbench – please keep up on approaching us with any ideas to develop our product even further.

MySQL Workbench 5.2 GA

  • Data Modeling
  • Query (replaces the old MySQL Query
  • Administration (replaces the old MySQL Administrator)

Please get your copy from our Download site. Sources and binary packages are available for several platforms, including Windows, Mac OS X and Linux.

http://dev.mysql.com/downloads/workbench/

To get started quickly, please take a look at this short tutorial.

MySQL Workbench 5.2 RC Tutorial

Workbench Documentation can be found here.

http://dev.mysql.com/doc/workbench/en/index.html

In addition to the new Query/SQL Development and Administration modules, version 5.2 features improved stability and performance – especially in Windows, where OpenGL support has been enhanced and the UI was optimized to offer better responsiveness.
This release also includes improvements to the scripting capabilities of the SQL Editor. You can read more about it in

http://wb.mysql.com/workbench/doc/

For a detailed list of resolved issues, see the change log.

http://dev.mysql.com/doc/workbench/en/wb-change-history.html

If you need any additional info or help please get in touch with us.

Post in our forums, leave comments on our blog pages or if you want to talk to us directly you can visit us on our IRC channel #workbench on irc.freenode.net.

- The MySQL Workbench Team


PlanetMySQL Voting: Vote UP / Vote DOWN

dbForge Data Compare for Oracle: new life to the product line

Июль 14th, 2010

Recently our development efforts were focused on dbForge for SQL Server product line. We’ve made five major releases of SQL Server database tools in last 18 months. Besides, we’ve made two major releases of MySQL database tools in this period. Our Oracle database tools product line, once actively developed, was frozen for almost three years. Sure we made maintenance releases, but no new features and tools. Our Oracle tools even were not re-branded to dbForge for Oracle. But now we decided to breeze the new life into Oracle tools development.

The first tool in the dbForge for Oracle product line will be Data Compare. For the first release we decided to make a free tool with basic functionality:

  • comparison and synchronization of tables only (views are not supported)
  • table and column mapping (by name)
  • type conversion is not supported (column types must match)
  • only simple types will be supported

Tool intended to help accomplishing simple database synchronization tasks and we plan to keep it free while adding new features to the commercial version.

Release is scheduled at the first decade of August 2010.

After gaining some experience in SQL Server data compare tools development we decided to release


PlanetMySQL Voting: Vote UP / Vote DOWN

The benchmark you’re reading is probably wrong

Июль 8th, 2010

Mikeal Rogers wrote a blog post on MongoDB performance and durability. In one of the sections, he writes about the request/response model, and makes the following statement:

MongoDB, by default, doesn’t actually have a response for writes.

In response, one of 10gen employees (the company behind MongoDB) made the following comment on Hacker News:

We did this to make MongoDB look good in stupid benchmarks.

The benchmark in question shows a single graph, which demonstrates that MongoDB is 27 times faster than CouchDB on inserting one million rows. At the first glance, the benchmark immediately looks silly if you’ve ever done serious benchmarking before. CouchDB people are smart, inserting such a small number of elements is a relatively simple feature, and it’s almost certain that either they would have fixed something that simple or they had a very good reason not to (in which case the benchmark is likely measuring apples and oranges).

Let’s do some back of the envelope math. Roundtrip latency on a commodity network for a small packet can range from 0.2ms to 0.8ms. A single rotational drive can do 15000RPM / 60sec = 250 operations per second (resulting in close to 5ms latency in practice), and a single Intel X25-m SSD drive can do about 7000 write operations per second (resulting in close to 0.15ms latency).

The benchmark demonstrates that CouchDB takes an average of 0.5ms per document to insert one million documents, while MongoDB does the same in 0.01ms. Clearly the rotational drives are too slow to play a part in the measurement, and the SSD drives are probably too fast to matter for CouchDB and too slow to matter for MongoDB. However, CouchDB appears to be awfully close to commonly encountered network latencies, while MongoDB inserts each document 50 times faster than commodity network latency.

At first observation, it appears likely that the CouchDB client library is configured to wait for the socket to receive a response from the database server before sending the next insert, while the MongoDB client is configured to continue sending insert requests without waiting for a response. If this is true, the benchmark compares apples and oranges and tells you absolutely nothing about which database engine is actually faster at inserting elements. It doesn’t measure how fast each engine handles insertion when the dataset fits into memory, when the dataset spills onto disk, or when there are multiple concurrent clients (which is a whole different can of worms). It doesn’t even begin to address the more subtle issues of whether the potential bottlenecks for each database might reside in the virtual memory configuration, or the file system, or the operating system I/O scheduler, or some other part of the stack, because each database uses each one of these components slightly differently. What the benchmark likely measures is something that is never mentioned – the latency of the network stack for CouchDB, and something entirely unrelated for MongoDB.

Unfortunately most benchmarks published online have similar crucial flaws in the methodology, and since many people make decisions based on this information, software vendors are forced to modify the default configuration of their products to look good on these benchmarks. There is no easy solution – performing proper benchmarks is very error-prone, time consuming work. It’s good to be very skeptical about benchmarks that show a large performance difference but don’t carefully discuss the methodology and potential pitfalls. As Brad Pitt’s character says at the end of Inglourious Basterds – “Long story short, we hear a story too good to be true, it ain’t”.

Interested in working at RethinkDB? We’re hiring – please see our jobs page for more details.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL Workbench 5.2.25 released, goes GA

Июль 1st, 2010

Dear MySQL Users,

We’re pleased to announce the release of MySQL Workbench 5.2.25  This release is GA (Generally Available). We hope you will make MySQL Workbench your preferred tool for Design, Development, and Administration of your MySQL database applications.

Special thanks go to all the great MySQL Beta Testers that provided valuable ideas, insights, and bug reports to the Workbench Team. Your beta feedback truly helped us improve the product.

MySQL Workbench 5.2 GA provides:
• Data Modeling
• Query (replaces the old MySQL Query Browser)
• Administration (replaces the old MySQL Administrator)

Please get your copy from our Download site. Sources and binary packages are available for several platforms, including Windows, Mac OS X and Linux.

To get started quickly, please take a look at this short tutorial.

MySQL Workbench 5.2 GA Tutorial

Workbench Documentation can be found here.

In addition to the new Query/SQL Development and Administration modules, version 5.2 features improved stability and performance – especially in Windows, where OpenGL support has been enhanced and the UI was optimized to offer better responsiveness.

For a detailed list of resolved issues, see the change log.

If you need any additional info or help please get in touch with us.

Post in our forums, leave comments on our blog pages or if you want to talk to us directly you can visit us on our IRC channel #workbench on irc.freenode.net.

- The MySQL Workbench Team


PlanetMySQL Voting: Vote UP / Vote DOWN

Lock-free vs. wait-free concurrency

Июнь 28th, 2010

There are two types of non-blocking thread synchronization algorithms – lock-free, and wait-free. Their meaning is often confused. In lock-free systems, while any particular computation may be blocked for some period of time, all CPUs are able to continue performing other computations. To put it differently, while a given thread might be blocked by other threads in a lock-free system, all CPUs can continue doing other useful work without stalls. Lock-free algorithms increase the overall throughput of a system by occassionally increasing the latency of a particular transaction. Most high-end database systems are based on lock-free algorithms, to varying degrees.

By contrast, wait-free algorithms ensure that in addition to all CPUs continuing to do useful work, no computation can ever be blocked by another computation. Wait-free algorithms have stronger gurantees than lock-free algorithms, and ensure a high thorughput without sacrificing latency of a particular transaction. They’re also much harder to implement, test, and debug. The lockless page cache patches to the Linux kernel are an example of a wait-free system.

In a situation where a system handles dozens of concurrent transactions and has soft latency requirements, lock-free systems are a good compromise between development complexity and high concurrency requirements. A database server for a website is a good candidate for a lock-free design. While any given transaction might block, there are always more transactions to process in the meantime, so the CPUs will never stay idle. The challenge is to build a transaction scheduler that maintains a good mean latency, and a well bounded standard deviation.

In a scenario where a system has roughly as many concurrent transactions as CPU cores, or has hard real-time requirements, the developers need to spend the extra time to build wait-free systems. In these cases blocking a single transaction isn’t acceptable – either because there are no other transactions for the CPUs to handle, minimizing the throughput, or a given transaction needs to complete with a well defined non-probabilistic time period. Nuclear reactor control software is a good candidate for wait-free systems.

RethinkDB is a lock-free system. On a machine with N CPU cores, under most common workloads, we can gurantee that no core will stay idle and no IO pipeline capacity is wasted as long as there are roughly N * 4 concurrent transactions. For example, on an eight core system, no piece of hardware will sit idle if RethinkDB is handling roughly 32 concurrent transactions or more. If there are fewer than 32 transactions, you’ve likely overpaid for some of the cores. (Of course if you only have 32 concurrent transactions, you don’t need an eight-core machine).

Interested in working at RethinkDB? We’re hiring – please see our jobs page for more details.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL Workbench 5.2.24 RC

Июнь 21st, 2010

Dear MySQL Users,

We’re happy to announce the 3rd Release Candidate (RC) of MySQL Workbench.
Version 5.2.24 includes fixes for more than 70 issues.

MySQL Workbench 5.2 RC provides:

• Data Modeling
• Query (replaces the old MySQL Query Browser)
• Administration (replaces the old MySQL Administrator)
if you are a current user of MySQL Query Browser or MySQL Administrator, we look forward to your feedback on all the new capabilities we are delivering in a single unified MySQL Workbench
As always, you will find binaries for the various platforms on our download pages.

Please get your copy from our Download

http://dev.mysql.com/downloads/workbench/

To get started quickly, please take a look at this short tutorial.

MySQL Workbench 5.2 RC Tutorial

http://wb.mysql.com/?p=406

Please be aware that this release is still a in-development version – so please don’t use it on your production servers! Also note, MySQL Workbench files saved with version 5.2 cannot be opened with previous versions of our program.

The files for several platforms have been pushed to our main server and should be available on our mirrors.
Blog postings and general information – including build instructions for Linux – can be found on our Workbench Developer Central site.

Workbench Developer Central

http://wb.mysql.com

Workbench Documentation and details on changes between releases can be found on these pages

http://dev.mysql.com/doc/workbench/en/index.html

http://dev.mysql.com/doc/workbench/en/wb-change-history.html

if you need any additional info or help please get in touch with us.
Post in our forums, leave comments on our blog pages or if you want to talk to us directly you can visit us on our IRC channel #workbench on irc.freenode.net.

Product Hint: All the quick keys are shown in the product, so always remember to look at mouse over icons or in the menu listings.

Thanks again to all those testing MySQL Workbench and providing insightful ideas, enhancement, and issues as well.

- The MySQL Workbench Team


PlanetMySQL Voting: Vote UP / Vote DOWN

dbForge Studio for MySQL, v4.50! More Tools Available!

Июнь 21st, 2010

Devart today releases dbForge Studio for MySQL 4.50 – cutting-edge administration tool and development environment for professional working with MySQL databases.

With dbForge Studio, Devart continues its initiative to produce efficient database experiences for all the people in MySQL world.

New features in dbForge Studio for MySQL, v4.50 include:

More freedom for backing up schemas

Schema Export wizard has been totally redesigned to Database Backup to enable users to back up schemas in automatic mode using Windows task scheduler, save backup options for future use, view automatically complied log file. Besides old backup files are automatically removed based on date or quantity.

database-backup-demo

database-backup-demo

New tool for database developers – Query Profiler

dbForge Studio offers results of internal MySQL tools like SHOW PROFILE and EXPLAIN in a convenient and clear GUI. Besides, you get STATUS variables for the required query automatically calculated.

Additional benefits:

  • Plan of the query displayed in the tree view for easy review
  • Profiling history that can be saved for further analysis
  • Capability to compare profiling results in two clicks
  • Capability to print profiling results
query-profiler-demo

query-profiler-demo

Data comparison and synchronization of any databases

Diverse testing and close interaction with database developers, admins and casual users resulted in thoughtful redesign and enhancement of Data Comparison tool. Now it compares and synchronizes database of any length with significant performance improvement. To customize comparison and synchronization, the users can use new options, change synchronization direction in one click, and quickly filter tables in comparison results. An additional benefit is generating accurate comparison reports in HTML and Excel formats.

Advanced query building

Now Query Builder, a powerful tool for visual query creating, is tailored for creating complex conditions with several clicks. The new power is based on optimized performance of the Selection tab in the expression editor, visual addition of subqueries to any part of the main query, new Wrap to Subquery option to wrap tables into a subquery, optimized navigation in the editor, particularly between subqueries and other features.

Quick generating template SQL scripts for database objects

Thanks to this new functionality, you can save your time while working with database objects. For example, you can quickly generate template SQL scripts CREATE, DROP, SELECT, INSERT, UPDATE or DELETE scripts for tables. This option is available in the context menu of Database Explorer and called ‘Generate Script As’.

Improved schema comparison

  • Extended capabilities of Schema Comparison wizard
  • New comparison options to ignore some table options, DEFINER and SQL SECURITY expressions, default values for columns

Check the benefits yourself, download dbForge Studio for MySQL, v4.50 now for free.

Tell us what you think about the new version at dbForge Studio feedback page.

We are looking forward to your comments and suggestions.


PlanetMySQL Voting: Vote UP / Vote DOWN

MySQL Workbench 5.2.22 RC 2 Available

Июнь 3rd, 2010

Dear MySQL Users,

We’re happy to announce the second Release Candidate (RC) of MySQL Workbench.
Version 5.2.22 includes fixes for 76 bugs.

In case you didn’t know – MySQL Workbench is a modular product and is fully pluggable and scriptable. If you want to write a plug-in for Workbench 5.2, then stay tuned as we will be updating the documentation in the next week with all the details and examples you need on how to write your own plug-ins.

Plug-ins are great for extending or adding to workbench or for automating repetitive tasks. You can do things like adding to menus, exporting your Workbench models custom tailored for your coding environment, adding your own forms, and more. Python is our preferred scripting language but for simple scripts the Lua language can be used as well.

The first plug-in we added is called MySQL Doc Library. It can be used to read the MySQL Documentation offline and features many convenient features such as full text search. Currently, only the MySQL Workbench manual is included, but material and features will be added over time.

MySQL Workbench 5.2 RC provides:

  1. Data Modeling
  2. Query (upgrade from MySQL Query Browser)
  3. Admin (upgrade from MySQL Administrator)

if you are a current user of MySQL Query Browser or MySQL Administrator, we look forward to your feedback on all the new capabilities we are delivering in a single unified MySQL Workbench

As always, you will find binaries for the various platforms on our download pages.

Please get your copy from our Download

http://dev.mysql.com/downloads/workbench/

To get started quickly, please take a look at this short tutorial.

MySQL Workbench 5.2 RC Tutorial

http://wb.mysql.com/?p=406

Please be aware that this release is still a in-development version – so please don’t use it on your production servers! Also note, MySQL Workbench files saved with version 5.2 cannot be opened with previous versions of our program.

The files for several platforms have been pushed to our main server and should be available on our mirrors.

Blog postings and general information – including build instructions for Linux – can be found on our Workbench Developer Central site.

Workbench Developer Central

http://wb.mysql.com

Workbench Documentation and details on changes between releases can be found on these pages

http://dev.mysql.com/doc/workbench/en/index.html
http://dev.mysql.com/doc/workbench/en/wb-change-history.html

If you need any additional info or help please get in touch with us.
Post in our forums, leave comments on our blog pages or if you want to talk to us directly you can visit us on our IRC channel #workbench on irc.freenode.net.

Again, thank you for trying out the Workbench development versions, we look forward to your feedback and bug reports.

- The MySQL Workbench Team


PlanetMySQL Voting: Vote UP / Vote DOWN