Why NoSql ?
Complexity and heterogeneity of data, internet-scale horizontal-scaling, just-enough consistency, and performance requirements make the traditional approach to data-store based on only Relational Databased (RDBMS) ineffective. Modern applications are required to use databases whose data-model, queries, and consistency and distribution model, offer the right match to the task at hand, and provide the right balance between feature-set and implementation performance.
Why a Data-Structure Store ?
Key-Value stores provide a simple an efficient model for data persistence, where simple keys are used to lookup associated value. A Data-Structure stores takes this approach one step beyond, by providing a rich set of persistent data-structures that map naturally program data-structures used by developers.
Technologies of Choice
Redis is a fast data-structure NoSql database. Going beyond traditional key—value stores, Redis provides a rich set of canonical data-structures that are efficiently persisted, including: raw byte arrays and strings, lists/queues, hashes, sets, sorted sets, and hyperloglogs.
Redis support multiple deployment modes, from single-server, master-slave replication, and high-availability with a strong-consistency sentinel-driven failover on quorum, and clustering for with data replication and partitioning (sharding).
Drivers/Bindings exist for many programming languages, including Java and C#/.Net, among other. High-level programming framework such as Spring Data Redis further simplify the development of RabbitMQ and AMQP based applications.
- Redis Application Development — Java Track, C# Track
- Redis Installation, Configuration, and Management
Redis Deplyoment Architectures
Redis provides multiple mechanisms for distributed installation whose goals are are to increase fault-tolerance, high-availability, and partition data in order to deal with the limitations of memory-driven storage of data. Functionally correct applications, need to be complemented with equally sound architectures for the in-memory storage of data as done by Redis.
- In-Memory Data Partitioning
- Polyglot persistence
EInnovator can help setting up and validating Redis based solutions, and polyglot solutions based on a combination of NoSql and RDBMS databases, trough advise on architecture, configuration details, operational procedures, and application development best-practices.