AWS purpose-built databases
Data is a strategic asset for every organization. As data proceeds to exponentially develop, databases are getting progressively pivotal to getting information and changing over it to important bits of knowledge.
IT pioneers need to search for approaches to get more an incentive from their data. In case you’re running legacy databases on-premises, you’re likely finding that provisioning, working, scaling, and overseeing databases is dreary, tedious, and costly. You need modernized database solutions that permit you to spend time innovating and fabricating new applications — not overseeing infrastructure.
Think Beyond Relational Database
Relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970 for tabular data with consistent structure and fixed schema.
Traditional applications like CRM, ERP and e-commerce justifies relational databases to store transactions and store structured data, typically in GBs and occasionally TB’s.
The relational database served as the foundation for most applications. For decades, Application design has been driven by relational database requirements, limiting innovation. over the past decade, Various Industries reinvent their wheels and depends on database.
The need to manage massive increases in new, rapidly changing data types — structured, semi-structured, and polymorphic data generated by new classes of web, mobile, social, and IoT applications.
New age industries requirements cannot properly fulfill by relational database alone. To meet futuristic demands, we must evaluate various emerging purpose-built database models and shortlist right database model.
Various Database Services in AWS
1. Relational Database
In relational database management systems (RDBMS), data is stored in a tabular form of columns and rows and data is queried using the Structured Query Language (SQL). Each column of a table represents an attribute, each row in a table represents a record, and each field in a table represents a data value.
1.1 AWS Services
1.2 Advantages
- Works well with structured data
- Supports ACID transactional consistency and supports joins
- Comes with built-in data integrity
- Ensures data accuracy and consistency
- Constrains relationships in this system
- Equipped with limitless indexing
1.3 Use cases
- ERP
- CRM
- Finance Transactions
- Data warehousing
1.4 Not Suitable for
- Semi-structured or sparse data
2. Key Value Database
A key-value database stores data as a collection of key-value pairs in which a key serves as a unique identifier. Both keys and values can be anything, ranging from simple objects to complex compound objects. They are great for applications that need instant scale to meet growing or unpredictable workloads.
2.1 AWS Services
2.2 Advantages
- Simple data format speeds up write and read
- Value can be anything, including JSON, flexible schemas, etc.
2.3 Use cases
- Real-time bidding
- Shopping cart
- Product catalog
- Customer preferences
2.4 Not Suitable for
- Complex or analytical queries
- Applications that require strong consistency
3. Search Database
Search databases securely ingest data from any source to search, analyze, and visualize in real time by using indexes to categorize similar characteristics among data.
3.1 AWS Services
3.2 Advantages
- Indexing all rows and providing fielded search with Boolean combinations of those fields
- Native handling of natural language text to provide relevant free-text search
- Providing relevant results
- Providing autocomplete and search suggestions
- Supporting faceting and faceted drill-down
- Supporting dates and GEO locations for local search
3.3 Use cases
- Application monitoring
- Search
- Infrastructure monitoring
3.4 Not Suitable for
- ACID compliant data store.
- Durable data store.
- Transaction handling.
4. Document Database
In document databases, data is stored in JSON-like documents and JSON documents are first-class objects within the database. These databases make it easier for developers to store and query data by using the same document-model format developers use in their application code.
4.1 AWS Services
4.2 Advantages
- Flexible schema
- Flexible, semi-structured, and hierarchical
- Adjustable to application needs as databases evolve
- Simple hierarchical and semi-structured data
- Powerfully index for fast querying
- Naturally map documents to object-oriented programming
- Easily flows data to persistent layer
- Expressive query languages built for documents
- Capable of ad-hoc queries and aggregations across documents
4.3 Use cases
- Catalogs
- Content management systems
- User profiles/personalization
- Mobile
4.4 Not Suitable for
- Explicitly defined relations between different pieces of data
5. In-memory Database
With the rise of real-time applications, in-memory databases are growing in popularity. In-memory databases predominantly rely on main memory for data storage, management, and manipulation. In-memory has been popularized by open-source software for memory caching, which can speed up dynamic databases by caching data to decrease access latency, increase throughput, and ease the load off the main databases.
5.1 AWS Services
5.2 Advantages
- Sub-millisecond latency
- Can perform millions of operations per second
- Significant performance gains when compared to disk-based alternatives
- Simpler instruction set
- Support for rich command set (Redis)
- Works with any type of database, relational or non-relational, or even storage services
5.3 Use cases
- Caching
- Session store
- Gaming
- Leaderboards
- Geospatial services
- Pub/sub
- Real-time streaming
5.4 Not Suitable for
- Persisting data to disk all the time
6. Graph Database
Graph databases are a type of NoSQL database designed to make it easy to build and run applications that work with highly connected datasets. In a graph data model, relationships are first class citizens, i.e. they are represented directly. Using specialized graph languages, like SPARQL or Gremlin, allows you to easily build queries that efficiently navigate highly connected datasets.
6.1 AWS Services
6.2 Advantages
- Ability to make frequent schema changes
- Quickly make relationships between many different types of data
- Real-time query response time
- Superior performance for querying related data — big or small
- Meets more intelligent data activation requirements
- Explicit semantics for each query — no hi
6.3 Use cases
- Fraud detection
- Social networking
- Recommendation engines
- Knowledge graphs
- Data lineage
6.4 Not Suitable for
- Applications that do not traverse or query relationships
- Processing high volumes of transactions
- Handling queries that span the entire database
7. Time Series Database
Time-series databases are optimized for time-stamped or time-series data. Time-series data is very different from other data workloads in that it typically arrives in time-order form, the data is append-only, and queries are always over a time interval. Examples of such data include server metrics, application performance monitoring, network data, sensor data, events, clicks,
7.1 AWS Services
7.2 Advantages
- Ideal for measurements or events that are tracked, monitored, and aggregated over time
- High scalability for quickly accumulating time-series data
- Robust usability for many functions, including: data-retention policies, continuous queries, flexible-time aggregations
7.3 Use cases
- DevOps
- Application monitoring
- Industrial telemetry
- IoT applications
7.4 Not Suitable for
- Data not in time-order form, such as: documents, catalogs, customer profiles
8. Ledger Database
Ledger databases provide a transparent, immutable, and cryptographically verifiable transaction log owned by a central trusted authority. Many organizations build applications with ledger-like functionality because they want to maintain an accurate history of their applications’ data — for example, tracking the history of credits and debits in banking transactions, verifying the data lineage of an insurance claim, or tracking movement of an item in a supply chain network.
8.1 AWS Services
8.2 Advantages
- Maintain accurate history of application data
- Immutable and transparent
- Cryptographically verifiable
- Highly scalable
8.3 Use cases
- Finance (Keep track of ledger data such as credits and debits)
- Manufacturing (Reconcile data between supply chain systems to track full manufacturing history )
- Insurance (Accurately track claims history)
- HR and payroll ( Track and maintain a record of employee details )
- Retail ( Maintain an accurate log of inventory)
8.4 Not Suitable for
- Decentralized use case (i.e., multiple entities need to read/write on data independently)
9. Wide Column Database
A wide column store is a type of NoSQL database. It uses tables, rows, and columns, but unlike a relational database, the names and format of the columns can vary from row to row in the same table.
9.1 AWS Services
9.2 Advantages
- Compatible with Apache Cassandra
9.3 Use cases
- Build applications that require low latency
- High scale industrial apps for equipment maintenance
- Fleet management
- Route optimization
9.4 Not Suitable for
- ACID transactions
- Strong consistency
CONCLUSION
For applications that are more ideally targeted at a particular type of database workload, however, it generally makes more sense to choose a DBMS that is purpose built for that workload in order to get the best result. We can consider below points to select purpose-built database.
- Analyze the data needs of the enterprise to determine whether a multi-model DBMS is sufficient or if a range of purpose-built DBMSs is required.
- If a range of purpose-built DBMSs is required, consider the cost and complexity factors involved in adopting DBMSs from a variety of vendors versus a single vendor with an integrated operational framework.
- In considering an integrated operational framework, if committing to a public cloud platform provider, evaluate the value of turning to that cloud platform provider for such a framework.
- When considering public cloud provider–integrated operational frameworks, and the range of DBMSs provided, the DBMSs and supporting platform of AWS should be on the list.
References
https://en.wikipedia.org/wiki/Relational_database
https://en.wikipedia.org/wiki/Wide_column_store
https://aws.amazon.com/products/databases/