Storage Engine Archives - Percona Database Performance Blog Sat, 17 Feb 2024 00:01:34 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 https://www.percona.com/blog/wp-content/uploads/2023/02/cropped-percona-favicon-32x32.png Storage Engine Archives - Percona Database Performance Blog 32 32 76301791 Compression Methods in MongoDB: Snappy vs. Zstd https://www.percona.com/blog/compression-methods-in-mongodb-snappy-vs-zstd/ https://www.percona.com/blog/compression-methods-in-mongodb-snappy-vs-zstd/#respond Wed, 29 Mar 2023 13:07:19 +0000 https://www.percona.com/blog/?p=86560 Compression in any database is necessary as it has many advantages, like storage reduction, data transmission time, etc.Storage reduction alone results in significant cost savings, and we can save more data in the same space. As the amount of data grows, the need for efficient data compression becomes increasingly important to save storage space, reduce […]]]> https://www.percona.com/blog/compression-methods-in-mongodb-snappy-vs-zstd/feed/ 0 86560 WiredTiger Logging and Checkpoint Mechanism https://www.percona.com/blog/wiredtiger-logging-and-checkpoint-mechanism/ https://www.percona.com/blog/wiredtiger-logging-and-checkpoint-mechanism/#comments Tue, 28 Mar 2023 13:13:41 +0000 https://www.percona.com/blog/?p=86465 In this blog post, we will dive deep into WiredTiger’s Logging and Checkpoint mechanism.Every database system has to ensure durability and reliability. MongoDB uses classic Write-Ahead-Logging (WAL) using Journals and Checkpoints.Starting with the basics, why is WAL needed in the first place? It’s to ensure that our data is durable after each write operation and […]]]> https://www.percona.com/blog/wiredtiger-logging-and-checkpoint-mechanism/feed/ 1 86465 How Bloom Filters Work in MyRocks https://www.percona.com/blog/how-bloom-filters-work-in-myrocks/ https://www.percona.com/blog/how-bloom-filters-work-in-myrocks/#respond Wed, 15 Feb 2023 13:07:50 +0000 https://www.percona.com/blog/?p=85216 Bloom filters are an essential component of an LSM-based database engine like MyRocks. This post will illustrate through a simple example how bloom filters work in MyRocks.Why?With MyRocks/RocksDB, data is stored in a set of large SST files.  When MyRocks needs to find the value associated with a given key, it uses a bloom filter […]]]> https://www.percona.com/blog/how-bloom-filters-work-in-myrocks/feed/ 0 85216 Percona XtraBackup and MySQL 5.7 Queries in Waiting for Table Flush State https://www.percona.com/blog/percona-xtrabackup-and-mysql-5-7-queries-in-waiting-for-table-flush-state/ https://www.percona.com/blog/percona-xtrabackup-and-mysql-5-7-queries-in-waiting-for-table-flush-state/#respond Fri, 10 Feb 2023 15:23:06 +0000 https://www.percona.com/blog/?p=85152 https://www.percona.com/blog/percona-xtrabackup-and-mysql-5-7-queries-in-waiting-for-table-flush-state/feed/ 0 85152 COUNT(*) vs COUNT(col) in MySQL https://www.percona.com/blog/count-vs-countcol-in-mysql/ https://www.percona.com/blog/count-vs-countcol-in-mysql/#comments Mon, 09 Jan 2023 13:43:10 +0000 https://www.percona.com/blog/?p=84510 Looking at how people are using COUNT(*) and COUNT(col), it looks like most of them think they are synonyms and just use what they happen to like, while there is a substantial difference in performance and even query results. Also, we find a difference in execution on InnoDB and MyISAM engines.NOTE: All tests were applied […]]]> https://www.percona.com/blog/count-vs-countcol-in-mysql/feed/ 2 84510 A MyRocks Use Case https://www.percona.com/blog/myrocks-use-case/ https://www.percona.com/blog/myrocks-use-case/#respond Fri, 23 Dec 2022 12:03:50 +0000 https://www.percona.com/blog/?p=84266 I wrote this post on MyRocks because I believe it is the most interesting new MySQL storage engine to have appeared over the last few years. Although MyRocks is very efficient for writes, I chose a more generic workload that will provide a different MyRocks use case.The use case is the TPC-C benchmark but executed […]]]> https://www.percona.com/blog/myrocks-use-case/feed/ 0 84266 MyRocks Use Case: Big Dataset https://www.percona.com/blog/myrocks-use-case-big-dataset/ https://www.percona.com/blog/myrocks-use-case-big-dataset/#respond Wed, 17 Aug 2022 12:05:57 +0000 https://www.percona.com/blog/?p=82213 One of the questions I am often asked is in what cases I would prefer MyRocks over InnoDB. We have covered MyRocks in our blog previously:MyRocks Performance – Percona Database Performance BlogSaving With MyRocks in The Cloud – Percona Database Performance BlogBut it would be good to refresh some materials.This time I want to take […]]]> https://www.percona.com/blog/myrocks-use-case-big-dataset/feed/ 0 82213 Building Percona Server for MySQL 8.0 with RocksDB Storage Engine on macOS https://www.percona.com/blog/building-percona-server-for-mysql-8-0-with-rocksdb-storage-engine-on-macos/ https://www.percona.com/blog/building-percona-server-for-mysql-8-0-with-rocksdb-storage-engine-on-macos/#respond Wed, 10 Aug 2022 14:10:48 +0000 https://www.percona.com/blog/?p=81909 In Percona Server for MySQL 8.0.29-21, we added one more patch that helps us to build server code on macOS. To be precise here, we still could do this even before this patch but only partially. Now it is possible to build RocksDB Storage Engine as well.A word of disclaimer here, at the moment, by macOS […]]]> https://www.percona.com/blog/building-percona-server-for-mysql-8-0-with-rocksdb-storage-engine-on-macos/feed/ 0 81909 Configure wiredTiger cacheSize Inside Percona Operator for MongoDB https://www.percona.com/blog/configure-wiredtiger-cachesize-inside-percona-distribution-for-mongodb-kubernetes-operator/ https://www.percona.com/blog/configure-wiredtiger-cachesize-inside-percona-distribution-for-mongodb-kubernetes-operator/#respond Fri, 07 Jan 2022 16:28:17 +0000 https://www.percona.com/blog/?p=79579 Nowadays we are seeing a lot of customers starting to use our Percona Operator for MongoDB. The Percona Operators are based on best practices for the configuration of a Percona Server for MongoDB replica set or the sharded cluster. The main component in MongoDB is the wiredTiger cache which helps to define the cache used […]]]> https://www.percona.com/blog/configure-wiredtiger-cachesize-inside-percona-distribution-for-mongodb-kubernetes-operator/feed/ 0 79579 MongoDB Config Server Upgrade From SCCC to CSRS ReplicaSet https://www.percona.com/blog/mongodb-config-server-upgrade-from-sccc-to-csrs-replicaset/ https://www.percona.com/blog/mongodb-config-server-upgrade-from-sccc-to-csrs-replicaset/#respond Thu, 30 Dec 2021 14:30:43 +0000 https://www.percona.com/blog/?p=79520 Recently, I got some of our customers doing an upgrade to v4.x from v3.0 (Yeah, still could see older MongoDB versions and we suggest everyone do the upgrade to stay with the current GA!). There were some pain points in the upgrade process, and especially before migrating to v3.4, you will need to change from […]]]> https://www.percona.com/blog/mongodb-config-server-upgrade-from-sccc-to-csrs-replicaset/feed/ 0 79520 Temporary Tables in MySQL – Never Ending Story? https://www.percona.com/blog/temporary-tables-in-mysql-never-ending-story/ https://www.percona.com/blog/temporary-tables-in-mysql-never-ending-story/#comments Mon, 22 Nov 2021 15:02:36 +0000 https://www.percona.com/blog/?p=79060 If you ever had to deal with performance and/or disk space issues related to temporary tables, I bet you eventually found yourself puzzled. There are many possible scenarios depending on the type of temporary table, settings, and MySQL version used. We have observed a pretty long evolution in that matter due to a couple of […]]]> https://www.percona.com/blog/temporary-tables-in-mysql-never-ending-story/feed/ 3 79060 Reminder: TokuDB Storage Engine Will Be Disabled by Default in Percona Server for MySQL 8.0.26 https://www.percona.com/blog/tokudb-storage-engine-will-be-disabled-by-default-in-percona-server-for-mysql-8-0-26/ https://www.percona.com/blog/tokudb-storage-engine-will-be-disabled-by-default-in-percona-server-for-mysql-8-0-26/#respond Wed, 06 Oct 2021 11:46:10 +0000 https://www.percona.com/blog/?p=78417 As we’ve communicated in our blog post in May, the TokuDB Storage Engine has been marked as “deprecated” in Percona Server for MySQL 8.0. It will be removed in a future version (Percona Server for MySQL 8.0.28, expected to ship in Q1 2022).With the release of Percona Server for MySQL 8.0.26, the storage engine will still […]]]> https://www.percona.com/blog/tokudb-storage-engine-will-be-disabled-by-default-in-percona-server-for-mysql-8-0-26/feed/ 0 78417 WiredTiger File Forensics Part 3: Viewing all the MongoDB Data https://www.percona.com/blog/wiredtiger-file-forensics-part-3-viewing-all-the-mongodb-data/ https://www.percona.com/blog/wiredtiger-file-forensics-part-3-viewing-all-the-mongodb-data/#respond Tue, 22 Jun 2021 10:47:07 +0000 https://www.percona.com/blog/?p=76750 This article continues on from Part 1: Building “wt” and  “Part 2: wt dump” to show how to extract any of your MongoDB documents directly from WiredTiger’s raw data files. It’ll also show how to take a peek into the index files. Lastly, it’ll show how to also look in the WT transaction log to […]]]> https://www.percona.com/blog/wiredtiger-file-forensics-part-3-viewing-all-the-mongodb-data/feed/ 0 76750 Experimental Feature: $backupCursorExtend in Percona Server for MongoDB https://www.percona.com/blog/experimental-feature-backupcursorextend-in-percona-server-for-mongodb/ https://www.percona.com/blog/experimental-feature-backupcursorextend-in-percona-server-for-mongodb/#respond Mon, 07 Jun 2021 15:16:28 +0000 https://www.percona.com/blog/?p=76500 Percona Server for MongoDB (PSMDB) has provided a ‘hot’ backup of its underlying data db directory files using WiredTiger library methods since v3.4. When you use the { createBackup: … } command it will copy them to whichever other filesystem directory or object store bucket location you specify.createBackup partially freezes the WiredTiger *.wt Btree files […]]]> https://www.percona.com/blog/experimental-feature-backupcursorextend-in-percona-server-for-mongodb/feed/ 0 76500 How InnoDB Handles TEXT/BLOB Columns https://www.percona.com/blog/how-innodb-handles-text-blob-columns/ https://www.percona.com/blog/how-innodb-handles-text-blob-columns/#comments Thu, 27 May 2021 16:04:36 +0000 https://www.percona.com/blog/?p=76221 Recently we had a debate in the consulting team about how InnoDB handles TEXT/BLOB columns. More specifically, the argument was around the Barracuda file format with dynamic rows.In the InnoDB official documentation, you can find this extract:When a table is created with ROW_FORMAT=DYNAMIC, InnoDB can store long variable-length column values (for VARCHAR, VARBINARY, and BLOB […]]]> https://www.percona.com/blog/how-innodb-handles-text-blob-columns/feed/ 2 76221 Heads-Up: TokuDB Support Changes and Future Removal from Percona Server for MySQL 8.0 https://www.percona.com/blog/tokudb-support-changes-and-future-removal-from-percona-server-for-mysql-8-0/ https://www.percona.com/blog/tokudb-support-changes-and-future-removal-from-percona-server-for-mysql-8-0/#comments Fri, 21 May 2021 14:34:45 +0000 https://www.percona.com/blog/?p=75202 Back in December 2018, when we announced the general availability of Percona Server for MySQL 8.0, we also announced that the TokuDB Storage Engine has been marked as “deprecated” in this release, recommending to use the MyRocks Storage Engine as an alternative. We believe that MyRocks provides similar benefits for the majority of workloads and […]]]> https://www.percona.com/blog/tokudb-support-changes-and-future-removal-from-percona-server-for-mysql-8-0/feed/ 2 75202 WiredTiger File Forensics Part 2: wt dump https://www.percona.com/blog/wiredtiger-file-forensics-part-2-wt-dump/ Tue, 18 May 2021 14:20:44 +0000 https://www.percona.com/blog/?p=75999 This article contains one normal section – how to print information directly from the raw WiredTiger files using wt dump – followed by really important, otherwise undocumented information about how to get to the MongoDB binary data inside WT tables.See “WiredTiger File Forensics (Part 1: Building “wt”)” for: How to build the “wt” utility command […]]]> 75999 WiredTiger File Forensics Part 1: Building “wt” https://www.percona.com/blog/wiredtiger-file-forensics-part-1-building-wt/ Tue, 18 May 2021 13:55:12 +0000 https://www.percona.com/blog/?p=76001 Most of the files in a data directory of a MongoDB server are made by the WiredTiger storage engine. If you want to look at the content inside them you can use the tool “wt” from the WiredTiger library: https://github.com/wiredtiger/wiredtiger/http://source.wiredtiger.com/10.0.0/command_line.htmlInspection of the WiredTiger files is not an essential MongoDB DBA skill – it’s just for […]]]> 76001 InnoDB File Growth Weirdness https://www.percona.com/blog/innodb-file-growth-weirdness/ Tue, 04 May 2021 13:59:51 +0000 https://www.percona.com/blog/?p=75720 There is a common pattern in life, you often discover or understand things by accident. Many scientific discoveries fit such a description. In our database world, I was looking to see how BLOB/TEXT columns are allocated using overlay pages and I stumbled upon something interesting and unexpected. Let me present to you my findings, along […]]]> 75720 Which Version of MySQL Should I Use for MyRocks? https://www.percona.com/blog/which-version-of-mysql-should-i-use-for-myrocks/ Tue, 06 Apr 2021 05:08:42 +0000 https://www.percona.com/blog/?p=75080 As database footprints continue to explode, many companies are looking for ways to deal with such rapid growth.  One approach is to refactor traditional relational databases to fit into a NoSQL engine, where horizontal scalability is easier.  However, in many cases, this is in no way a trivial undertaking.Another approach that has been gaining interest […]]]> 75080