What does "ACID compliant" mean? It means that your database follows a guide line that does not allow for inconsistency, and that all changes to the database happen either all at once or not at all.
Database transactions
a database transaction is a logical unit that is independently executed for data retrieval and updates
Migrations***
ORMs
Object-relation-mapping is a programming technique for converting data between incompatible type systems using object-oriented programming languages
SQL databases
Popular SQL databases and their differences
mySQL
mySQL is an open source relational database management system(not ACID-compliant)
PostgreSQL
PostgreSQL is an object-relational database system extends the SQL language (ACID- compliant)
Oracle
Oracle is a multi-model database management system used for running online transaction processing, data warehousing, and mixed database workloads
SQLite
SQLite is a relational database management system contained in a C programming library. It is not a client-server database engine but is ACID compliant
what is a "relational" database
A relational database is a database that is structured to recognize relations among stored items of information
what's a B-Tree, and why does it matter for a database?
A B-Tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions and deletions in logarithmic time. It matters because they are suited for large blocks of data
Primary key vs foreign key***
Schema design
normalization
Normalization is the process of restructuring a relation database in accordance with a series of so-called normal forms in order to reduce data redundancy and improve data integrity
denormalization
Denormliazation is a strategy used on a previously-normalized database to increase the read performance at the expense of losing writing performance by adding redundant copies of data or by grouping data
Basic select statements
A select statement returns with a result set of records from one or more tables from a database
Joins
Combines columns from one or more tables in a relational database. It creates a set that can be saved as a table or used as it is.
Sub-selects
A sub-select (sub-query) is a query within another SQL query and embedded within the WHERE clause
Grouping***
NoSQL databases
NoSQL databases provide storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
MongoDB
MongoDB is a free, open-source document-oriented database
why is Mongo useful, why it might suck
Mongo is useful in that it is quick to set up and that there is no real order you have to follow, which in itself is also a double edge sword
what's a "document database"? how does it work?
A document database is a computer program designed for storing, retrieving and managing document-oriented information.
aggregation pipeline
Aggregation pipeline(with mongoDB) is a framework for data aggregation modeled on the concept of data processing pipelines
Mongo indexing
Mongo indexing is placing indexes on each document to be able to track them by an indices
BSON
BSON is a data interchange format used mainly as a data storage and network transfer format in the MongoDB database. A binary form for representing simple data structures associative arrays(Binary JSON)
Memcache
A general-purpose distributed memory caching system often used to speed up dynamic database-driven website by caching data and objects in RAM to reduce the number of times an external data source must be read
Redis
Redis is an open-source, in memory data structure project implementing a distributed, in memory key-value database.