An Engineering Approach to Database Evaluations

Gene Miguel
Gene Miguel

Whether you’re the CTO of the Rebel Alliance or the Galactic Empire, it could be very difficult to decide on your next database technology with the distraction of both sides constantly at war. In 2018, you’ll need to make a database choice for an existing or new application. Here are the things you need to keep in mind as you shop for your next database.

8 Criteria To Keep In Mind While Looking For Your Next Database

1) Pick the right language: SQL

The history of SQL, or Structured Query Language, dates back to 1970, when E.F. Codd, then of IBM Research, published a seminal paper titled, “A Relational Model of Data for Large Shared Data Banks.” Since then, SQL has remained the lingua franca of data processing, helping build the relational database market into a $36 billion behemoth.
Modern SQL supports distributed transactions, distributed queries, and distributed algorithm processing. When picking a language, engineers will want to consider:

  • Surface area supported: Joins, Aggregates, sub-queries, CTEs, Window functions
  • Parallelism: In a single machine, across a cluster of machines
  • Mature query optimizer
  • Profiling and query tuning support

2) Performance

Businesses want insights from their data and they want it sooner rather than later. For fast-changing data, enterprises must derive immediate value from data changes to stay competitive. Engineers building real-time applications that aim to minimize the time-to-value of data should consider:

  • Modern hardware
    •  AVX2 instructions / SIMD
    • Flash/NVMe
  • Code Generation

3) Database storage technology

Today’s real-time application architectures require fast data ingest of millions of rows per second and subsecond query response against billions of rows. Key considerations for modern database storage technology includes:

  • In-memory Rowstore
  • On-Disk Columnstore
  • Skiplist, B-Tree, LSM-Tree, hash table, min-max index types

4) Transactionality

Nothing is more critical than ensuring that there are transactional boundaries for data commits. Database engines function to meet ACID compliance. The degree of transactionality determines business data success.  Closely investigate the following:

  • Point-updates
  • Mass updates
  • File systems like HDFS  that purport to have transactional consistency

5) Protection and durability

Protect your data investment. Durability is cornerstone of ACID compliance. When selecting database technology, take into account:

  • Replication support (synchronous, asynchronous, log-based, statement-based)
  • Built-in transparent high availability or manual setup
  • Backup and Restore support

6) User-defined Functions and Stores Procedures

Extensibility is critical for implementing new functionality for modern database applications. For massive parallel processing, database systems require distributed extensibility which includes:

  • Custom table value functions
  • Custom user-defined functions
  • Custom user-defined aggregate functions
  • Custom store procedures

7) Data Ingest

For many organizations, batch processing reflects slow data load times. Examine database technology that reduces extract, transform, and load (ETL) times while combining transactional and analytical workloads. These systems should exhibit:

  • Fast, continuous, streaming ingest
  • Running queries concurrently with ingest

8) Security

Everyday, business fall victim to data breaches. When hackers from the dark side gain access to critical data systems, all data becomes compromised.  Protect the data of your business by selecting a a modern database that supports:

  • Encryption; Authentication
  • Role Based Access Control
  • Audit Logging; Strict Mode

 

The force works in mysterious ways in the database universe. When considering a new database platform, let the force guide you to a scalable, real-time database and data warehouse platform for high-performance applications that require fast, accurate, secure, and always available data.

To learn more, visit memsql.com.

This blog post is an unofficial, educational, information resource. It is not linked to Lucasfilm Ltd. or Walt Disney. All images belong to their respective trademark and copyright holders. The Official Star Wars site can be found at www.starwars.com.