ORM vs. CQRS/ES throwdown – Part 1.5 – Definitions

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.
  • NoSQLNot 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.