glossary
dz / DDIA / glossaryNode Tree
- binary_schema
- data_model
- evolvability
- full_text_search
- functional_requirements
- maintainability
- nonfunctional_requirements
- nosql
- query_language
- relational_database
- reliability
- REST
- RPC
- scalability
- sequence_similarity_search
- storage_engine
Nodes
functional_requirements | |
content | Functional requirements: what it should do, such as allowing data to be sored, retrieved, searched, and processed in various ways. |
children | system_design_interview/glossary/functional_requirement |
parents | DDIA/toc/1_foundations_of_data_systems/01_reliable_scalable_maintainable, DDIA/glossary |
nonfunctional_requirements | |
content | nonfunctional requirements: general properties like security, reliablity, compliance, scalability, compatability, maintainability |
children | system_design_interview/glossary/non_functional_requirement |
parents | DDIA/toc/1_foundations_of_data_systems/01_reliable_scalable_maintainable, DDIA/glossary |
reliability | |
content | Reliability: making systems work correctly, even when faults occur. |
parents | DDIA/toc/1_foundations_of_data_systems/01_reliable_scalable_maintainable, DDIA/glossary |
scalability | |
content | Scalability: having strategies for keeping performance good, even when load increases. |
parents | DDIA/toc/1_foundations_of_data_systems/01_reliable_scalable_maintainable, DDIA/glossary |
maintainability | |
content | Maintainability: making life better for engineering and operations teams who need to work with the system. |
parents | DDIA/toc/1_foundations_of_data_systems/01_reliable_scalable_maintainable, DDIA/glossary |
relational_database | |
content | Relational Database: invented to solve "many-to-many" problem |
children | system_design_interview/glossary/RDBMS |
parents | DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
nosql | |
content | NoSQL Datastores |
children | graph_database, document_database |
parents | DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
document_database | |
content | Document Database: targets use cases where data comes in self contained documents and relationships between one document and another are rare. |
parents | nosql, DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
graph_database | |
content | Graph Database: useful for cases where data where anything is potentially related to everything |
parents | nosql, DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
data_model | |
content | Data Model |
children | system_design_interview/glossary/data_model |
parents | DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
query_language | |
content | Query Language |
children | DDIA/tools/SPARQL, DDIA/tools/SQL, DDIA/tools/cyper, DDIA/tools/datalog, DDIA/tools/MapReduce, DDIA/tools/monogdb_aggregration_pipeline, DDIA/tools/XSL_XPath (not a DB query language, but intersting parallel), DDIA/tools/CSS (not a DB query language, but intersting parallel) |
parents | DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
sequence_similarity_search | |
content | Sequence Similarity Search: taking one long string (such as a DNA molecule), and matching it against a large database of strings that are similar, but not identical |
parents | DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
full_text_search | |
content | Full Text Search: arguably a kind of data model used alongside databases. |
parents | DDIA/toc/1_foundations_of_data_systems/02_data_models_query_languages, DDIA/glossary |
OLTP | |
content | OLTP: Online Transaction Processing, optimized for transaction processing. |
children | update_in_place, log_structured |
parents | storage_engine, DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, DDIA/glossary |
flashcard (front) | What is an OLTP databse? |
flashcard (back) | Online transaction processing, optimized for transaction processing |
OLAP | |
content | OLAP: Online analytical processing, optimized for analytical processing |
children | column_oriented_storage, data_warehouse |
parents | storage_engine, DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, DDIA/glossary |
flashcard (front) | What is an OLAP database? |
flashcard (back) | Online analytical processing. |
storage_engine | |
content | Storage Engine |
children | OLAP, OLTP |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, DDIA/glossary |
data_warehouse | |
content | Data Warehouse |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, DDIA/glossary, OLAP |
log_structured | |
content | Log-structured storage engine: only permits appending to files and deleting obsolete files, but never updates a file that has been written. |
children | SSTable, LSM_tree, DDIA/tools/cassandra, DDIA/tools/bitcask, DDIA/tools/hbase, DDIA/tools/lucene, DDIA/tools/levelDB |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, OLTP, DDIA/glossary |
SSTable | |
content | SSTable: Sorted String Table |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, log_structured, DDIA/glossary |
LSM_tree | |
content | LSM_tree: Log-Structured Merge Tree |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, log_structured, DDIA/glossary |
update_in_place | |
content | Update-in-place storage engine: treats disk as set of fixed-size pages that can be overwritten |
children | btree |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, OLTP, DDIA/glossary |
btree | |
content | B-Tree |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, update_in_place, DDIA/glossary |
column_oriented_storage | |
content | column oriented storage: aims to encode data very compactly, and minimize amount of data query needs to read from disk |
parents | DDIA/toc/1_foundations_of_data_systems/03_storage_and_retrieval, DDIA/glossary, OLAP |
rolling_upgrade | |
content | Rolling Upgrade: a new version of a service is gradually deployed to a few nodes at a time, rather than deploying to all nodes simultaneously. |
parents | evolvability, DDIA/toc/1_foundations_of_data_systems/04_encoding_evolution, DDIA/glossary |
evolvability | |
content | Evolvability: the ease of making changes in an application |
children | rolling_upgrade |
parents | DDIA/toc/1_foundations_of_data_systems/04_encoding_evolution, DDIA/glossary |
binary_schema | |
content | binary schema driven formats |
children | DDIA/tools/avro, DDIA/tools/thrift, DDIA/tools/protocol_buffers |
parents | DDIA/toc/1_foundations_of_data_systems/04_encoding_evolution, DDIA/glossary |
remarks | useful for documentation and code generation, but data needs to be decoded before it is human readable |
REST | |
content | REST API |
children | system_design_interview/glossary/REST |
parents | DDIA/toc/1_foundations_of_data_systems/04_encoding_evolution, DDIA/glossary |
RPC | |
content | RPC API |
parents | DDIA/toc/1_foundations_of_data_systems/04_encoding_evolution, DDIA/glossary |