Databases 27 min read

A Comprehensive Overview of Database Evolution, Types, and Data Structure Design Techniques

This article explains key database terminology, traces the history of database technologies, compares relational, NoSQL, NewSQL, OLTP/OLAP, columnar, time‑series and graph databases, and demonstrates practical data‑structure designs such as zipper tables, bit operations, bitmaps, bloom filters, and ring queues for software development.

JD Tech
JD Tech
JD Tech
A Comprehensive Overview of Database Evolution, Types, and Data Structure Design Techniques

The article introduces fundamental database concepts, starting with early file‑system storage, progressing through hierarchical and network models, and highlighting the breakthrough of relational databases in the 1970s pioneered by Edgar Codd.

Relational Databases (RDBMS)

Relational databases organize data in tables with rows and columns, using set theory and relational algebra to model relationships, and remain the dominant storage solution for many enterprise applications.

NoSQL and NewSQL

NoSQL databases emerged to handle massive, unstructured, and distributed data, sacrificing strong consistency for scalability. The article lists common NoSQL models—key‑value, column‑family, document, and graph—along with their typical use cases and trade‑offs. NewSQL combines the scalability of NoSQL with the ACID guarantees of traditional SQL, exemplified by TiDB and OceanBase.

OLTP and OLAP

Online Transaction Processing (OLTP) focuses on fast, real‑time transaction handling, while Online Analytical Processing (OLAP) supports complex, multidimensional queries for data analysis. A comparative table illustrates their differing workloads and performance characteristics.

HTAP

Hybrid Transactional/Analytical Processing (HTAP) integrates OLTP and OLAP capabilities in a single engine, reducing data movement and latency.

Domain‑Specific Databases

Columnar Databases store data by column rather than row, offering higher compression, faster analytical queries, and better scalability for large‑scale analytics in finance, healthcare, telecom, energy, and logistics.

Time‑Series Databases are optimized for timestamped data, essential for monitoring, IoT, and high‑frequency logging, with examples such as Prometheus.

Graph Databases model data as nodes and edges, enabling efficient traversal for fraud detection, social networks, and knowledge graphs; popular products include Neo4j and others.

Data Structure Design Techniques

The article then shifts to practical data‑structure designs used in software development.

Zipper Table (slowly changing dimension) records historical changes by adding effective and expiry timestamps, allowing point‑in‑time queries without duplicating unchanged fields.

主键:唯一标识每个记录的字段,通常是一个或多个列的组合。</code><code>生效时间:记录的生效时间,即该记录开始生效的时间。</code><code>失效时间:记录的失效时间,即该记录失效的时间。</code><code>版本号:记录的版本号,用于标识该记录的版本。</code><code>其他维度属性:记录的其他维度属性,如客户名、产品名、员工名等。

Bit Operations are used for compact flag storage, priority calculation, and permission checks. An example Java class demonstrates defining constants and checking permissions with bitwise operators:

public abstract class PriorityManager {</code><code>    // 定义业务优先级常量</code><code>    public static final int PRIORITY_LOW = 1;     // 二进制:001</code><code>    public static final int PRIORITY_NORMAL = 2;  // 二进制:010</code><code>    public static final int PRIORITY_HIGH = 4;    // 二进制:100</code><code></code><code>    // 定义用户权限常量</code><code>    public static final int PERMISSION_READ = 1;   // 二进制:001</code><code>    public static final int PERMISSION_WRITE = 2;  // 二进制:010</code><code>    public static final int PERMISSION_DELETE = 4; // 二进制:100</code><code></code><code>    // 组合值示例</code><code>    public static final int PERMISSION_LOW_PRIORITY = PRIORITY_LOW | PERMISSION_READ;</code><code>    public static final int PERMISSION_NORMAL_PRIORITY = PRIORITY_NORMAL | PERMISSION_READ | PERMISSION_WRITE;</code><code>    public static final int PERMISSION_HIGH_PRIORITY = PRIORITY_HIGH | PERMISSION_READ | PERMISSION_WRITE | PERMISSION_DELETE;</code><code></code><code>    public static boolean checkPermission(int permission, int priority) {</code><code>        return (permission & priority) == priority;</code><code>    }</code><code>}

Bitmap compresses large boolean sets by using one bit per element, dramatically reducing memory usage and enabling fast existence checks, de‑duplication, and sorting.

Bloom Filter extends bitmap ideas with multiple hash functions to provide space‑efficient probabilistic membership testing, tolerating false positives but no false negatives.

Ring Queue (circular buffer) is used for fixed‑size, high‑throughput buffering in networking, IPC, and streaming systems. Variants such as consistent hashing rings and time‑wheel schedulers improve load distribution and timer management.

Consistent hashing maps keys onto a virtual ring, allowing nodes to be added or removed with minimal data movement; virtual nodes further balance load and prevent hot‑spots.

Time‑wheel algorithms provide O(1) task insertion and removal for delayed or periodic jobs, reducing CPU overhead compared to traditional priority queues.

Overall, the article provides a thorough survey of database evolution, categorizes modern database systems, and presents concrete data‑structure techniques that enhance performance, scalability, and maintainability in software engineering.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Big DataSQLData StructuresdatabasesNoSQL
JD Tech
Written by

JD Tech

Official JD technology sharing platform. All the cutting‑edge JD tech, innovative insights, and open‑source solutions you’re looking for, all in one place.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.