Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Database Design Content on InfoQ

  • Understanding Architectures for Multi-Region Data Residency

    This article focuses on implementing data residency strategies for a positive stakeholder experience. It underscores the need to diversify data locations, driven by motivations like disaster recovery and geo-redundancy. The core principle is data distribution, ensuring specific sets reside in distinct regions without overlap - a practice termed data residency.

  • Distributed Transactions at Scale in Amazon DynamoDB

    Amazon DynamoDB supports transactions without sacrificing performance or availability. Akshat Vig explains how DynamoDB introduced TransactGetItems and TransactWriteItems for atomic operations, proving full ACID support in distributed transactions.

  • Raft Engine: a Log-Structured Embedded Storage Engine for Multi-Raft Logs in TiKV

    In this article, authors discuss the design and implementation of Raft Engine, a log-structured embedded storage engine introduced in TiDB distributed, NewSQL database version 5.4. They also discuss the performance benefits of the engine compared to the previous implementation based on RocksDB.

  • Designing Secure Tenant Isolation in Python for Serverless Apps

    Software as a Service (SaaS) has become a very common way to deliver software today. While providing the benefits of easy access to users without the overhead of having to manage the operations themselves, this flips the paradigm and places the responsibility on software providers for maintaining ironclad SLAs, as well as all of the security and data privacy requirements.

  • The Next Evolution of the Database Sharding Architecture

    In this article, author Juan Pan discusses the data sharding architecture patterns in a distributed database system. She explains how Apache ShardingSphere project solves the data sharding challenges. Also discussed are two practical examples of how to create a distributed database and an encrypted table with DistSQL.

  • Case Study: a Decade of Microservices at a Financial Firm

    Microservices are the hot new architectural pattern, but the problem with “hot” and “new” is that it can take years for the real costs of an architectural pattern to be revealed. Fortunately, the pattern isn’t new, just the name is. So, we can learn from companies that have been doing this for a decade or more.

  • How to Source Control Your Databases for DevOps

    A robust DevOps environment requires having continuous integration for every component of the system. But far too often, the database is omitted from the equation. In this article, we discuss the unique aspects of databases, both relational and NoSQL, in a successful continuous integration environment.

  • 14 Things I Wish I’d Known When Starting with MongoDB

    I’ve been a database person for an embarrassing length of time, but I only started working with MongoDB recently. When I was starting out with MongoDB, there are a few things that I wish I’d known about. With general experience, there will always be preconceptions of what databases are and what they do. In hopes of making it easier for other people, here is a list of common mistakes.

  • A Quick Primer on Isolation Levels and Dirty Reads

    Recently MongoDB found itself at the top of Reddit again when developer David Glasser learned the hard way that MongoDB performs dirty reads by default. In this article we will explain what isolation levels and dirty reads are and how they are implemented in popular databases.

  • NoSQL For Mere Mortals Review and Author Q&A

    Addison-Wesley Professional NoSQL for Mere Mortals provides an introduction to NoSQL databases spanning across the major types of databases that fall under the NoSQL umbrella and explaining both advantages and shortcomings that each database type offers. InfoQ has spoken with the book's author, Dan Sullivan.

  • Agile Modeling: Enhancing Communication and Understanding

    Modeling supports us in communicating and understanding when we create software solutions. As communication and understanding are two of the most critical aspects of delivering software solutions - modeling is a valuable tool that should not be overlooked. Agile Modeling adheres to and aligns with Agile values and principles and should be one of the practices within your Agile toolkit.

  • Virtual Panel: Security Considerations in Accessing NoSQL Databases

    NoSQL databases offer alternative data storage options for storing unstructured data compared to traditional relational databases. Though the NoSQL databases have been getting a lot of attention lately, the security aspects of storing and accessing NoSQL data haven't been given much emphasis. This article focuses on the security considerations and best practices in accessing the NoSQL databases.