built around relational theory (first-order predicate calculus) developed in 1969 by Edgar F. Codd. Schema is defined in tables of columns and rows. Data is related through matching keys across tables. Thursday, March 1, 12
These databases use nodes, properties, and edges to describe a “web” of data. They can be particularly powerful when doing complex ancestral queries. Thursday, March 1, 12
for a group of databases whose primary way of retrieving objects is by a single key. What can be stored as a value widely varies. Thursday, March 1, 12
of data in an ordered, easily traversable format, that serves as a more efficient lookup mechanism for the “actual” data. Indexes (Indices) Thursday, March 1, 12
Do we use a template object, a query language like SQL, or a simple string key? How we’ll query the data is often a good indicator of what kind of database you need. Querying Thursday, March 1, 12
hosting your database on hardware with faster processors, more memory, and higher network throughput. Scaling out means distributing data, indices, and queries across many machines and aggregating the results. Thinking about scaling early can save huge pain down the line. Scaling Thursday, March 1, 12
in selecting a database. Is your schema fixed or flexible? Do you related many disparate things, or are clear hierarchies present in your data. Do you have a lot of small things, or a few large things? etc... Modeling Thursday, March 1, 12
kind of wrapper to interact with your database. It could be ActiveRecord for relational database, Mongoid for MongoDB, or the Redis ruby driver. How you want to interact with the database plays into which ORM you’ll want to use. Mapping (ORM) Thursday, March 1, 12
a complex operation with your data. You need to aggregate, sum, map, or project your data and often the facilities provided by your database are the first place to look for a solution. Analyzing Thursday, March 1, 12
the data. It’s essential to understand the backup and recovery needs of your application and how different database do, or do not assist with that process. Recovering Thursday, March 1, 12
Non-Relational nested relationships parallel queries The database, in most modern web applications, is almost always the first bottleneck for performance. Thursday, March 1, 12