Before I proceed much further into this series, I realize that some readers may not know the abbreviations and terminology being discussed. Therefore, a quick introduction to some key terms and technologies:
- Relational Database – A data storage mechanism that utilizes a series of tables to store data that relates to data in other tables. Typical examples of this include Microsoft Sql Server, Oracle Database, IBM DB2, MySQL, Postgres, Sqlite, Microsoft Access
- ORM – Object – Relational – Mapping tool, this is a coding tool that assists developers in managing data in a relational database with an object oriented programming language.
- NHibernate – A freely available tool with an open source license that provides ORM functionality
- “The” Entity Framework (EF) – An ORM made by Microsoft and distributed with Microsoft .Net 3.5 and 4.0
- CQRS – Command Query Responsibility Segregation, a data architecture that separates the read and write actions in the database into Commands and Queries.
- Event Storage (ES) – A storage mechanism technique that functions similarly to double-entry bookkeeping. This approach allows the application to store a complete history of transactions and store ALL states of our objects, not just the current state.
- NoSQL – Not Only Sql – this is a relatively new class of database technology that focuses on storing objects or documents in a highly optimized data store. Examples include MongoDb, Cassandra, Memcache, and Redis
I think that’s a good start. I will do my best to keep up with any additional terms not defined here at the time that I first introduce them.