Cloudflare Research is building a global consensus service called Meerkat that uses a new consensus algorithm called QuePaxa. We plan to use Meerkat to build a strongly consistent, fault-tolerant key-value store, and other applications.
#database
63 posts
8 Jul
23 Jun
From Data to Decisions: Using Machine Learning to Segment ACA Consumers for Personalized Healthcare Engagement
SitePointnull From Data to Decisions: Using Machine Learning to Segment ACA Consumers for Personalized Healthcare Engagement on SitePoint.
19 Jun
A skewed partition key can route 80% of your writes to one partition. Learn how to diagnose PostgreSQL partition hot spots and fix them at the schema level.
17 Jun
The Hidden Challenge of Healthcare Analytics: Building Reliable Dashboards with Incomplete CMS Data
SitePointnull The Hidden Challenge of Healthcare Analytics: Building Reliable Dashboards with Incomplete CMS Data on SitePoint.
12 Jun
When PostgreSQL Isn't the Right Fit: Recognizing Workloads That Need Different Architecture
TimescalePostgres handles 90% of workloads well. Here's how to tell if yours is in the 10% — and what the diagnostic query that confirms it looks like.
10 Jun
A UNS puts your historian downstream of continuous tag churn. Learn the schema that survives renames, reorgs, and retirements without rewriting history.
4 Jun
null I Built a Task Management API in Laravel to Learn the Fundamentals (Here's What Happened) on SitePoint.
3 Jun
By Rajiv Shringi , Kaidan Fullerton , Oleksii Tkachuk and Kartik Sathyanarayanan Introduction Netflix’s TimeSeries Abstraction is a scalable system for ingesting and querying petabytes of temporal event data with millisecond latency. We use Apache Cassandra 4.x as the underlying storage for these main reasons: Throughput, latency, and cost : Cassandra can handle millions of low‑latency reads and writes in…
14 May
Our billing pipeline was suddenly slow. The culprit was a hidden bottleneck in ClickHouse
CloudflareWhen a partitioning change to our petabyte-scale ClickHouse cluster caused critical billing jobs to stall, standard metrics showed no obvious errors. This post explores how we identified severe lock contention in ClickHouse's query planner and built upstream patches to fix it.
16 Apr
null Logic Drift & Shadow AI: The Hidden Reasons Your Data Strategy is Failing on SitePoint.
25 Feb
In this blog post, we will show you how to reset the MariaDB root password. We reset the MariaDB root ... Read More The post How to Reset MariaDB Root Password appeared first on RoseHosting.
24 Feb
Re-architecting Flipkart’s Rate Card Engine: The Journey to Building a High-Scale, Generic Rate…
Flipkart TechRe-architecting Flipkart’s Rate Card Engine: The Journey to Building a High-Scale, Generic Rate Card Platform Introduction In the hyper-competitive world of e-commerce every cent matters. How marketplace fees are calculated, charged and displayed to millions of sellers at Flipkart directly impacts revenue, seller trust, and business agility. For years, the legacy system responsible for this task was the Agreement Master…
28 Jan
In this blog post, we will show you how to reset the MySQL root Password on a Linux operating system. ... Read More The post How to Reset MySQL Root Password appeared first on RoseHosting.
3 Nov 2025
MongoDB is a document-based database management system that uses JSON (JavaScript Object Notation) to store its data. Its primary function ... Read More The post How to Install MongoDB on Debian 13 appeared first on RoseHosting.
22 Oct 2025
MongoDB is a document-based database first developed by MongoDB Inc. in 2007. It is an example of a NoSQL database, ... Read More The post How to Install MongoDB on AlmaLinux 10 appeared first on RoseHosting.
10 Sept 2025
In this tutorial, we will cover improving database performance on a Linux VPS. Under the database, performance refers to how ... Read More The post Improving Database Performance on a Linux VPS appeared first on RoseHosting.
28 Aug 2025
How we made our filtering 10x cheaper by removing our Bloom Filters Bloom Filters are great tools to make fast and cheap filtering. They also come with plenty of problems and can easily get expensive and cumbersome. We switched to user-based direct database queries, which made our filtering cheaper and easy to maintain. Here’s the full breakdown of that migration.…
25 Aug 2025
Cross-Digest diversification In this part 4, we’ll see how we went from investigating a few complaints from digest power users to improving our digest recommendations across the board. Intro : This is a 4-part series breaking down improvements to the algorithm behind the Medium’s Daily Digest over the past year. When we started this work, the Digest was suboptimal —…
Discover how Bazaarvoice migrated millions of UGC records from RDS MySQL to AWS Aurora – at scale and with minimal user impact. Learn about the technical challenges, strategies, and outcomes that enabled this ambitious transformation in reliability, performance, and cost efficiency Bazaarvoice ingests and serves millions of user-generated content (UGC) items—reviews, ratings, questions, answers, and […]
19 Jun 2025
Optimistic locking is a concurrency control mechanism where we assume that multiple transactions can safely access data without conflict, allowing them to proceed without locking the data upfront. Unlike pessimistic locking, where resources are locked to avoid conflicts, optimistic locking allows transactions to proceed without locks and checks for conflicts only when updating the data. If a conflict is detected…
29 May 2025
We’re excited to announce the general availability of Heroku Postgres version 17, packed with new features and enhancements to your database performance. And that’s not all – we’re also introducing a game-changing feature that streamlines your upgrade experience. This new method of version upgrade is now the default, so you can try it to upgrade […] The post Heroku Postgres…
21 Nov 2024
Heroku Router 2.0 is now generally available, marking a significant step forward in our infrastructure modernization efforts. The new router delivers enhanced performance and introduces new features to improve your applications’ functionality. There are, of course, nuances to be aware of with any new system, and with Router 2.0 set to become the default router […] The post Tips &…
19 Nov 2024
Your organization may have many reasons to move a cloud service from one provider to another. Maybe you’ve found a better performance-versus-cost balance elsewhere. Maybe you’re trying to avoid vendor lock-in. Whatever your reasons, the convenience and general interoperability of cloud services today put you in the driver’s seat. You get to piece together the […] The post Planning Your…
7 Nov 2024
Introduction In this article, we are going to see the best way to determine the optimal connection pool size using the FlexyPool auto-incrementing pool strategy. If you are unfamiliar with the reason why database applications need a connection pool, then check out this article first. Now, according to the Universal Scalability Law, the maximum throughput of a database system is…
10 Oct 2024
We’ve been working to bring components of Quip’s technology into Slack with the canvas feature, while also maintaining the stand-alone Quip product. Quip’s backend, which powers both Quip and canvas, is written in Python. This is the story of a tricky bug we encountered last July and the lessons we learned along the way about…
24 Jul 2024
Introduction In this article, we are going to see how we can use symbolic links to move the DB data folder. The reason why I needed to move the data folder from the C to the D Windows partition was because the C partition was running out of disk space. DB data folder A relational database system requires to store…
21 May 2024
We’re thrilled to launch our new Heroku Postgres Essential database plans. These plans have pgvector support, no row count limits, and come with a 32 GB option. We deliver exceptional transactional query performance with Amazon Aurora as the backing infrastructure. One of our beta customers said: “The difference was noticeable right from the start. Heroku […] The post Introducing New…
10 Apr 2024
Introduction In this article, we are going to investigate the difference between the PostgreSQL FOR UPDATE and FOR NO KEY UPDATE when locking a parent record and inserting a child row. Domain Model To see the difference between the PostgreSQL FOR UPDATE and FOR NO KEY UPDATE locking clauses, consider the following one-to-many table relationship where the post table is…
26 Mar 2024
Introduction In this article, we are going to analyze how PostgreSQL Heap-Only-Tuple or HOT Update optimization works, and why you should avoid indexing columns that change very frequently. PostgreSQL Tables and Indexes Unlike SQL Server or MySQL, which store table records in a Clustered Index, in Oracle and PostgreSQL, records are stored in Heap Tables that have unique row identifiers.…
11 Mar 2024
Introduction In this article, we are going to analyze the PostgreSQL Index Types so that we can understand when to choose one index type over the other. When using a relational database system, indexing is a very important topic because it can help you speed up your SQL queries by reducing the number of pages that have to be scanned…
14 Feb 2024
Introduction In this article, we are going to explore various PostgreSQL performance tuning settings that you might want to configure since the default values are not suitable for a QA or production environment. As explained in this PostgreSQL wiki page, the default PostgreSQL configuration settings were chosen to make it easier to install the database on a wide range of…
11 Jan 2024
Introduction In this article, we are going to see what is the best way to test the data access layer when using a relational database system. First, we will talk about the pros and cons of unit testing. While unit testing is fine for validating independent logic units, when it comes to testing the data access layer, integration testing is…
26 Oct 2023
We’re pleased to introduce the pgvector extension on Heroku Postgres. In an era where large language models (LLMs) and AI applications are paramount, pgvector provides the essential capability for performing high-dimensional vector similarity searches. This allows Heroku Postgres to quickly find similar data points in complex data, which is great for applications like recommendation systems […] The post Enhancing Heroku…
28 Sept 2023
Cron scripts are responsible for critical Slack functionality. They ensure reminders execute on time, email notifications are sent, and databases are cleaned up, among other things. Over the years, both the number of cron scripts and the amount of data these scripts process have increased. While generally these cron scripts executed as expected, over time…
31 Aug 2023
Introduction In this article, we’re going to see how the PostgreSQL JDBC Driver implements Statement Caching and what settings we need to configure in order to optimize the performance of our data access layer. Prepared Statements The JDBC API allows you to create a PreparedStatement by calling prepareStatement(java.lang.String) method on a given Connection reference. For this reason, it’s very common…
19 Apr 2023
I recently needed count the number of rows in an SQL query that had a Group By clause. It looked something like this: SELECT account_name FROM events WHERE created_at >= CURDATE() - INTERVAL 3 MONTH GROUP BY account_id This provides a list of account names (28 in my case), but if you try to count them using: SELECT COUNT(account_name) as…
23 Feb 2023
Introduction In this article, we are going to explore the YugabyteDB architecture and see how it manages to provide automatic sharding and failover without compromising data integrity. YugabyteDB is a distributed SQL database, so its architecture is different than the ones employed by traditional relational database systems. Traditional relational database architecture Most relational database systems use a Single-Primary replication architecture,…
8 Feb 2023
Introduction In this article, we are going to see how we can achieve fault tolerance in your Spring Data application with the help of YugabyteDB. As previously explained, YugabyteDB is an open-source distributed SQL database that combines the benefits of traditional relational databases with the advantages of globally-distributed auto-sharded database systems. Fault tolerance First, let’s start with the definition of…
11 Jan 2023
Introduction In this article, we are going to see the overhead of acquiring a new connection when using YugabyteDB and why connection pooling is mandatory for performance. Acquiring a database connection using JDBC To interact with a database system, first, we need to acquire a database connection. And, when using Java, we need to obtain a Connection object from the…
30 Oct 2022
Pocketbase is an open-source application and alternative to Google Firebase. This is offering realtime database, authentication(including social), and file storage for your next web and mobile application. This article is about how to host the Pocketbase application server which usually runs at 8090 port with your existing application server. If you are using Linux and Apache based server, the following…
21 Jan 2021
We are excited to announce that we are moving Connection Pooling for Heroku Postgres into GA. Connection Pooling unlocks the ability to use up to 10,000 client connections to a Heroku Postgres Database, without adversely impacting performance on the database. This will unlock more complex and higher scale applications with simpler architectures on the Heroku […] The post Connection Pooling…
19 Dec 2019
Update: On closer inspection, the lock type was not on the table, but on a tuple. For more information on this locking mechanism see the internal Postgresql tuple locking documentation. Postgres does not have lock promotion as suggested in the debugging section of this post. I maintain an internal-facing service at Heroku that does metadata […] The post The Curious…
7 Nov 2019
Today, we’re thrilled to announce four new trusted data integrations that allow data to flow seamlessly and securely between Heroku and external resources in public clouds and private data centers: Heroku Postgres via mutual TLS Heroku Postgres via PrivateLink Apache Kafka on Heroku via PrivateLink Heroku Redis via PrivateLink These integrations expand Heroku’s security and […] The post Announcing Heroku…
28 Aug 2019
As outlined in a previous blog post, Heroku Data services undergo routine maintenances for security and patching. In this post, we describe the process used to minimize downtime for Heroku Postgres and Heroku Redis premium ‘High Availability’ plans and how we optimized the process to perform up to 75% faster. Data Services Architecture High availability […] The post Up to…
23 Jul 2019
There are many reasons to choose Heroku Data services, but keeping the services you use secure and up-to-date rank near the top. This foundation of trust is the most important commitment we make to our customers, and frequent and timely maintenances are one way we deliver on this promise. We do everything we can to […] The post Why Frequent…
15 Jul 2019
Every organization needs to be data-driven in order to be successful. Whether you’re tracking an application’s performance, incoming support tickets, or revenue rates, different components of any company depend on metrics that inform the health of the business. At Heroku, we’re hackers to the core, but that doesn’t mean we’re all programmers. We build on […] The post Dataclips Power…
16 Apr 2019
The data we store holds value, but refining data into meaning remains a difficult task. Over the last few months, we’ve taken a step back to figure out what we can do to help our users cross that divide, and rebuilt Heroku Dataclips from scratch with that goal in mind. The result is an experience […] The post A Dialog…
15 Apr 2019
Setting up a database is a relatively straightforward process (Heroku has an add-on for that), but getting it to run well in production is sometimes another matter. As your application grows and your data grows along with it, you will likely find a number of performance bottlenecks specifically related to your database, and this post […] The post Optimizing Database…
21 Mar 2019
After a successful two-month Beta period, PostgreSQL 11 is now the default version for all new provisioned Heroku Postgres databases. All Postgres extensions, tooling, and integration with the Heroku developer experience are ready to use, giving you the power of PostgreSQL 11 with the ease and usability of Heroku for building data-centric applications. We’d like […] The post PostgreSQL 11…
14 Dec 2017
Today, we're happy to announce full support for PostgreSQL 10, opening our managed Postgres solution to the full slate of features released after a successful two-month Beta period. PostgreSQL 10 is now the default version for all new provisioned Heroku Postgres databases. All Postgres extensions, tooling, and integration with the Heroku developer experience are ready […] The post PostgreSQL 10…
17 Oct 2017
Earlier this month, PostgreSQL 10.0 was released. Today, we are excited to announce PostgreSQL 10 is available in beta on Heroku, bringing a number of notable feature and performance improvements to our managed PostgreSQL database service. The beta provides customers who want to try out the new release an easy way to do so, while […] The post PostgreSQL 10…
11 Jul 2017
I recently demonstrated how you can use Rack Mini Profiler to find and fix slow queries. It’s a valuable tool for well-trafficked pages, but sometimes the slowdown is happening on a page you don't visit often, or in a worker task that isn't visible via Rack Mini Profiler. How can you find and fix those […] The post Using Heroku’s…
24 May 2017
(Always One More Thing…) Who Are We? The Ad Management team here at Bazaarvoice grew out of an incubator team. The goal of our incubator is to quickly iterate on ideas, producing prototypes and “proof of concept” projects to be iterated on if they validate a customer need. The project of interest here generates reports […]
3 May 2016
Starting today, Postgres 9.5 is now the new default version for all new Heroku Postgres databases. We’ve had hundreds of customers using early beta versions of 9.5 and the feedback has been positive. For many customers, the new UPSERT functionality was the last feature that prevented many of them from moving from other relational databases […] The post Postgres 9.5…
24 Feb 2016
A big update to the beloved Python web framework known as Django was released recently: Django 1.9. This release contains a long list of improvements for everything from the graphical styling of the admin to the ability to run your test suite in parallel. Our favorite improvements to the framework were, of course, all about […] The post Django 1.9’s…
8 Jan 2016
Heroku has long been committed to making PostgreSQL one of the best relational databases in the world. We’re also committed to giving you the ability to try the latest release as soon as it’s available. Today, we’re pleased to announce the public beta of Postgres 9.5 on Heroku. PostgreSQL 9.5 brings a bevy of super […] The post Here’s Postgres…
12 Mar 2015
The past decade has been an extremely exciting one in all matters related to data. We have had: An ever increasing amount of data produced by social media (once called “Web 2.0”) An ever increasing amount of data produced by devices (a.k.a. the Internet of Things) An ever increasing amount of database vendors that explore … Continue reading 3 Reasons…
Performing a backup is one of those tasks that ensures your application can recover from database or hardware failures should they ever occur. Over four year ago, we recognized this as a best practice and came out with PGBackups, an add-on that reduces the risk and complexity of taking database backups. Today, we’re pleased to […] The post Schedule PostgreSQL…
8 Jan 2015
Each major release of PostgreSQL brings lots of great new functionality. The recent release of PostgreSQL 9.4 includes an exciting new JSON data type, improvements to window functions, materialized views, and a host of other performance improvements and enhancements. We’ll go into more depth on what’s new and exciting in this release below, but first, […] The post PostgreSQL 9.4…
20 Oct 2014
One of MongoDB’s arguments when evangelising MongoDB is the fact that MongoDB is a “schemaless” database: Why Schemaless? MongoDB is a JSON-style data store. The documents stored in the database can have varying sets of fields, with different types for each field. And that’s true. But it doesn’t mean that there is no schema. There … Continue reading Stop Claiming…
22 Jul 2014
So you might’ve seen Destroy all Software’s talk about JavaScript: Here’s a similar talk (less funny more scary) about MySQL:
7 Jan 2014
Recently I struggled upon the same problem, this guy described. Our Oracle database instance contains multiple schematics with almost the same structure. Every developer has it’s own schema for unit and integration tests. On application startup the Hibernate schema validator calls the DatabaseMetaData.getTables() for every linked entity. The method returns the first […] The post Hibernate uses wrong schema during…
7 Feb 2013
Play SQL is a an Atlassian Confluence plug-in for querying database tables and displaying the results inside a Confluence page. The plug-in has only native support for PostgreSQL and HSQL but other drivers can be used via a JNDI datasource. For using MySQL with Play SQL you have to download the […] The post Use Confluence Play SQL Plug-in with…