search
HomeDatabaseMysql TutorialThoughts on Small Datum – Part 3_MySQL

Background: If you did not read my first blog post about why I am sharing my thoughts on the benchmarks published by Mark Callaghan on Small Datum you may want to skim through it now for a little context:“Thoughts on Small Datum – Part 1”

~~~~~~~~~~~~~~~~~~~~~~~~

Last time, in“Thoughts on Small Datum – Part 2”I shared my cliff notes and a graph onMark Callaghan’s (@markcallaghan) March 11th insertion rate benchmarks using flash storage media. In those tests he comparesMySQL outfitted with theInnoDBstorage engine against two distributions ofMongoDB: basic MongoDB fromMongoDB, Inc.andTokuMX(the high-performance distribution of MongoDB from Tokutek).

Later, in his March 24th“TokuMX, MongoDB and InnoDB Versus the Insert Benchmark with Disks”Mark presents similar benchmark findings for a new set of insertion rate tests using a different benchmark and the same DBMS products. This time however he uses servers configured with traditional disk storage media instead of flash. In addition he does a number of things to configure the products and tests differently than he did in the flash storage benchmarks.

As the saying goes, a picture is worth a thousand words. The X-axis here is the number of rows being inserted at each stage of the test. The Y-axis is the insertion rate recorded at those levels (and in this case,biggeris better).

 Mar24 BMark

As you can see, Mark found that TokuMX outperforms MySQL/InnoDB as well as basic MongoDB. He also found that shortly after 500M rows it became impractical to test MongoDB (it was taking unreasonably long time to let the test run to completion). The same thing happened with MySQL/InnoDB after 1.6B rows. TokuMX was still running strong at 2B rows.

Note: Mark tests several different configurations of MongoDB, trying to find the optimum configuration. For the purposes of my visual aid I selected the fastest / best MongoDB configuration at each level of 100M rows. That’s not very scientific of me but I wanted to be as fair as possible in the visual comparison.

Bottom Line:Like the flash storage test covered last time, the tests with traditional disk storage show that both MySQL with InnoDB and TokuMX significantly outperform basic MongoDB in benchmarks testing for write-intensive applications. Both MongoDB (540M rows) and MySQL/InnoDB (1.6B rows) become unresponsive in these tests as the database gets large.

This suggests that if your application is a write-intensive NoSQL one, and your servers are outfitted with traditional disk storage, it will perform significantly better on the TokuMX high-performance distribution of MongoDB. And that, with TokuMX performance will not degrade significantly as the database grows. It also shows basic MongoDB may not even be suitable for write-intensive applications that are expected to grow beyond 500M rows.

One footnote: TokuDB (the Tokutek high-performance MySQL storage engine alternative to InnoDB that employees the same underlying technology as TokuMX) isnotcovered in Mark’s benchmark. That’s too bad because it delivers better performance and scalability than InnoDB for your NewSQL applications.

You can read all the gory details on Mark’sMarch 24th insertion rate benchmark here. And, you can download and tryTokuMX for yourself (for free) here.

As always, your thoughts and comments are welcome below. You can also reach me on Twitter via@dcrosenlund.

Next time, in Thoughts on Small Datum – Part 4, this marketer’s summary and graphs for Mark’sIO-bound point queries tests using sysbench.

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
MySQL BLOB : are there any limits?MySQL BLOB : are there any limits?May 08, 2025 am 12:22 AM

MySQLBLOBshavelimits:TINYBLOB(255bytes),BLOB(65,535bytes),MEDIUMBLOB(16,777,215bytes),andLONGBLOB(4,294,967,295bytes).TouseBLOBseffectively:1)ConsiderperformanceimpactsandstorelargeBLOBsexternally;2)Managebackupsandreplicationcarefully;3)Usepathsinst

MySQL : What are the best tools to automate users creation?MySQL : What are the best tools to automate users creation?May 08, 2025 am 12:22 AM

The best tools and technologies for automating the creation of users in MySQL include: 1. MySQLWorkbench, suitable for small to medium-sized environments, easy to use but high resource consumption; 2. Ansible, suitable for multi-server environments, simple but steep learning curve; 3. Custom Python scripts, flexible but need to ensure script security; 4. Puppet and Chef, suitable for large-scale environments, complex but scalable. Scale, learning curve and integration needs should be considered when choosing.

MySQL: Can I search inside a blob?MySQL: Can I search inside a blob?May 08, 2025 am 12:20 AM

Yes,youcansearchinsideaBLOBinMySQLusingspecifictechniques.1)ConverttheBLOBtoaUTF-8stringwithCONVERTfunctionandsearchusingLIKE.2)ForcompressedBLOBs,useUNCOMPRESSbeforeconversion.3)Considerperformanceimpactsanddataencoding.4)Forcomplexdata,externalproc

MySQL String Data Types: A Comprehensive GuideMySQL String Data Types: A Comprehensive GuideMay 08, 2025 am 12:14 AM

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,idealforconsistentlengthdatalikecountrycodes;2)VARCHARforvariable-lengthstrings,suitableforfieldslikenames;3)TEXTtypesforlargertext,goodforblogpostsbutcanimpactperformance;4)BINARYandVARB

Mastering MySQL BLOBs: A Step-by-Step TutorialMastering MySQL BLOBs: A Step-by-Step TutorialMay 08, 2025 am 12:01 AM

TomasterMySQLBLOBs,followthesesteps:1)ChoosetheappropriateBLOBtype(TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB)basedondatasize.2)InsertdatausingLOAD_FILEforefficiency.3)Storefilereferencesinsteadoffilestoimproveperformance.4)UseDUMPFILEtoretrieveandsaveBLOBsco

BLOB Data Type in MySQL: A Detailed Overview for DevelopersBLOB Data Type in MySQL: A Detailed Overview for DevelopersMay 07, 2025 pm 05:41 PM

BlobdatatypesinmysqlareusedforvoringLargebinarydatalikeImagesoraudio.1) Useblobtypes (tinyblobtolongblob) Basedondatasizeneeds. 2) Storeblobsin Perplate Petooptimize Performance.3) ConsidersxterNal Storage Forel Blob Romana DatabasesizerIndimprovebackupupe

How to Add Users to MySQL from the Command LineHow to Add Users to MySQL from the Command LineMay 07, 2025 pm 05:01 PM

ToadduserstoMySQLfromthecommandline,loginasroot,thenuseCREATEUSER'username'@'host'IDENTIFIEDBY'password';tocreateanewuser.GrantpermissionswithGRANTALLPRIVILEGESONdatabase.*TO'username'@'host';anduseFLUSHPRIVILEGES;toapplychanges.Alwaysusestrongpasswo

What Are the Different String Data Types in MySQL? A Detailed OverviewWhat Are the Different String Data Types in MySQL? A Detailed OverviewMay 07, 2025 pm 03:33 PM

MySQLofferseightstringdatatypes:CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM,andSET.1)CHARisfixed-length,idealforconsistentdatalikecountrycodes.2)VARCHARisvariable-length,efficientforvaryingdatalikenames.3)BINARYandVARBINARYstorebinarydata,similartoC

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.