[{"data":1,"prerenderedAt":744},["ShallowReactive",2],{"category-database":3},[4,11,17,21,25,29,33,38,42,46,50,55,60,64,68,72,76,80,84,88,92,96,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,212,216,220,224,228,231,235,239,243,247,251,255,259,263,268,272,276,280,284,288,292,297,301,305,309,313,317,321,325,329,333,337,341,345,349,353,357,361,365,369,373,377,381,385,389,393,397,401,405,409,413,417,421,425,429,433,437,442,446,450,454,458,462,466,470,474,478,482,486,490,494,498,502,506,510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,595,599,603,607,611,615,619,623,627,631,635,639,643,647,651,655,659,663,667,671,675,679,683,687,691,695,699,704,708,712,716,720,724,728,732,736,740],{"title":5,"path":6,"acronym":7,"category":8,"difficulty":9,"description":10},"ACID","\u002Fterms\u002Fa\u002Facid","Atomicity, Consistency, Isolation, Durability","database","intermediate","ACID is the four guarantees a reliable database makes about transactions. It is the reason you trust a bank's database with your money.",{"title":12,"path":13,"acronym":14,"category":8,"difficulty":15,"description":16},"Algolia","\u002Fterms\u002Fa\u002Falgolia",null,"beginner","Algolia is the luxury hotel of search engines.",{"title":18,"path":19,"acronym":14,"category":8,"difficulty":9,"description":20},"Atomicity","\u002Fterms\u002Fa\u002Fatomicity","Atomicity means a transaction is all-or-nothing — like an atom that cannot be split.",{"title":22,"path":23,"acronym":14,"category":8,"difficulty":15,"description":24},"Auto Increment","\u002Fterms\u002Fa\u002Fauto-increment","Auto increment means the database assigns the next ID number automatically every time you insert a row.",{"title":26,"path":27,"acronym":14,"category":8,"difficulty":9,"description":28},"B-Tree Index","\u002Fterms\u002Fb\u002Fb-tree-index","A B-Tree index is the default index type that most databases create when you say CREATE INDEX.",{"title":30,"path":31,"acronym":14,"category":8,"difficulty":15,"description":32},"Backup","\u002Fterms\u002Fb\u002Fbackup","A database backup is a saved copy of your data at a specific point in time.",{"title":34,"path":35,"acronym":14,"category":8,"difficulty":36,"description":37},"Bigtable","\u002Fterms\u002Fb\u002Fbigtable","advanced","Bigtable is Google's original big data table that stores trillions of rows across thousands of machines. It's like a spreadsheet that ate a whole data cent",{"title":39,"path":40,"acronym":14,"category":8,"difficulty":36,"description":41},"Bitmap Index","\u002Fterms\u002Fb\u002Fbitmap-index","A bitmap index stores a bit array for each distinct value in a column.",{"title":43,"path":44,"acronym":14,"category":8,"difficulty":36,"description":45},"Bloom Filter","\u002Fterms\u002Fb\u002Fbloom-filter","A Bloom filter is a tiny data structure that can tell you 'definitely NOT here' or 'maybe here.",{"title":47,"path":48,"acronym":14,"category":8,"difficulty":9,"description":49},"CAP Theorem","\u002Fterms\u002Fc\u002Fcap-theorem","The CAP theorem says a distributed database can only guarantee two out of three things: Consistency (everyone sees the same data), Availability (every requ...",{"title":51,"path":52,"acronym":53,"category":8,"difficulty":15,"description":54},"CRUD","\u002Fterms\u002Fc\u002Fcrud","Create, Read, Update, Delete","CRUD is the four things you can do to data: Create it, Read it, Update it, Delete it. Literally every app ever made is just CRUD in a trenchcoat.",{"title":56,"path":57,"acronym":58,"category":8,"difficulty":9,"description":59},"CTE","\u002Fterms\u002Fc\u002Fcte","Common Table Expression","A CTE is a temporary named result set you define at the top of a query with the WITH keyword. It's like giving a subquery a name so you can reuse it.",{"title":61,"path":62,"acronym":14,"category":8,"difficulty":9,"description":63},"Cascade Delete","\u002Fterms\u002Fc\u002Fcascade-delete","A cascade delete is when deleting one thing automatically deletes everything connected to it — like pulling a thread that unravels the whole sweater.",{"title":65,"path":66,"acronym":14,"category":8,"difficulty":36,"description":67},"Cassandra","\u002Fterms\u002Fc\u002Fcassandra","Cassandra is like a massive library system spread across every city in the world.",{"title":69,"path":70,"acronym":14,"category":8,"difficulty":15,"description":71},"ChromaDB","\u002Fterms\u002Fc\u002Fchromadb","You're hacking together an AI chatbot at 2am. You don't want to provision cloud infrastructure.",{"title":73,"path":74,"acronym":14,"category":8,"difficulty":36,"description":75},"ClickHouse","\u002Fterms\u002Fc\u002Fclickhouse","Imagine filing cabinets where instead of storing one person's whole file together, you store ALL salaries in one drawer, ALL names in another.",{"title":77,"path":78,"acronym":14,"category":8,"difficulty":36,"description":79},"CockroachDB","\u002Fterms\u002Fc\u002Fcockroachdb","CockroachDB is the database that just won't die, like the bug it's named after.",{"title":81,"path":82,"acronym":14,"category":8,"difficulty":15,"description":83},"Column","\u002Fterms\u002Fc\u002Fcolumn","A column is a category of data in a table. If a table is a spreadsheet, columns are the headers: 'Name', 'Email', 'Age'.",{"title":85,"path":86,"acronym":14,"category":8,"difficulty":9,"description":87},"Column Store","\u002Fterms\u002Fc\u002Fcolumn-store","Instead of storing all of a row's data together (name, age, email), a column store keeps all the names together, all the ages together, and all the emails...",{"title":89,"path":90,"acronym":14,"category":8,"difficulty":36,"description":91},"Column-Level Encryption","\u002Fterms\u002Fc\u002Fcolumn-level-encryption","Column-level encryption encrypts specific sensitive columns (like SSN, credit card numbers) while leaving everything else readable.",{"title":93,"path":94,"acronym":14,"category":8,"difficulty":9,"description":95},"Columnar Storage","\u002Fterms\u002Fc\u002Fcolumnar-storage","Columnar storage saves data column by column instead of row by row. All the ages together, all the names together, all the emails together.",{"title":58,"path":97,"acronym":14,"category":8,"difficulty":9,"description":98},"\u002Fterms\u002Fc\u002Fcommon-table-expression","A CTE (WITH clause) lets you name a sub-query and use it later, like setting a variable in your SQL.",{"title":100,"path":101,"acronym":14,"category":8,"difficulty":36,"description":102},"Compaction","\u002Fterms\u002Fc\u002Fcompaction","Compaction is the database's housekeeping process that merges and cleans up files on disk.",{"title":104,"path":105,"acronym":14,"category":8,"difficulty":9,"description":106},"Composite Index","\u002Fterms\u002Fc\u002Fcomposite-index","A composite index indexes multiple columns together, like a phone book sorted by last name AND first name. The order matters a lot.",{"title":108,"path":109,"acronym":14,"category":8,"difficulty":36,"description":110},"Conflict Resolution","\u002Fterms\u002Fc\u002Fconflict-resolution","Conflict resolution is what happens when two database servers both change the same thing at the same time and then try to sync up.",{"title":112,"path":113,"acronym":14,"category":8,"difficulty":9,"description":114},"Connection Pooler","\u002Fterms\u002Fc\u002Fconnection-pooler","A connection pooler keeps a stash of open database connections ready to go, like having pre-heated ovens in a bakery.",{"title":116,"path":117,"acronym":14,"category":8,"difficulty":36,"description":118},"Consensus Algorithm","\u002Fterms\u002Fc\u002Fconsensus-algorithm","A consensus algorithm is how a group of servers democratically agree on something even when some of them are flaky or unreachable.",{"title":120,"path":121,"acronym":14,"category":8,"difficulty":9,"description":122},"Consistency","\u002Fterms\u002Fc\u002Fconsistency","Consistency in databases means a transaction can only bring the database from one valid state to another valid state.",{"title":124,"path":125,"acronym":14,"category":8,"difficulty":36,"description":126},"Covering Index","\u002Fterms\u002Fc\u002Fcovering-index","A covering index includes all the columns your query needs, so the database never has to look at the actual table.",{"title":128,"path":129,"acronym":14,"category":8,"difficulty":15,"description":130},"DELETE","\u002Fterms\u002Fd\u002Fdelete","DELETE removes rows from a table. It is the 'Delete' in CRUD. Like UPDATE, you MUST use a WHERE clause — without it, you delete everything in the table.",{"title":132,"path":133,"acronym":14,"category":8,"difficulty":9,"description":134},"Data Lake","\u002Fterms\u002Fd\u002Fdata-lake","A data lake is a massive storage dump where you throw every piece of data in its raw format. CSV files, JSON, images, logs, whatever.",{"title":136,"path":137,"acronym":14,"category":8,"difficulty":36,"description":138},"Data Lakehouse","\u002Fterms\u002Fd\u002Fdata-lakehouse","A data lakehouse is what you get when a data lake and a data warehouse have a baby.",{"title":140,"path":141,"acronym":14,"category":8,"difficulty":9,"description":142},"Data Warehouse","\u002Fterms\u002Fd\u002Fdata-warehouse","A data warehouse is where all your company's data goes to be analyzed.",{"title":144,"path":145,"acronym":14,"category":8,"difficulty":15,"description":146},"Database","\u002Fterms\u002Fd\u002Fdatabase","A database is like a super-organized filing cabinet for your app's data.",{"title":148,"path":149,"acronym":14,"category":8,"difficulty":9,"description":150},"Database Branching","\u002Fterms\u002Fd\u002Fdatabase-branching","Database branching is Git for your database.",{"title":152,"path":153,"acronym":14,"category":8,"difficulty":9,"description":154},"Database Functions","\u002Fterms\u002Fd\u002Fdatabase-functions","Instead of doing math in your application code and sending results to the database, Database Functions let the database do its own math. It's like telling ",{"title":156,"path":157,"acronym":14,"category":8,"difficulty":9,"description":158},"Database Lock","\u002Fterms\u002Fd\u002Fdatabase-lock","A database lock prevents multiple transactions from messing with the same data at the same time. It's like a bathroom door lock — one person at a time.",{"title":160,"path":161,"acronym":14,"category":8,"difficulty":9,"description":162},"Database Proxy","\u002Fterms\u002Fd\u002Fdatabase-proxy","A database proxy sits between your app and your database like a bouncer at a club.",{"title":164,"path":165,"acronym":14,"category":8,"difficulty":9,"description":166},"Database Trigger","\u002Fterms\u002Fd\u002Fdatabase-trigger","A database trigger is an automatic response to data changes. Insert a row? The trigger fires. Update a column? The trigger fires.",{"title":168,"path":169,"acronym":14,"category":8,"difficulty":15,"description":170},"Default Value","\u002Fterms\u002Fd\u002Fdefault-value","A default value is what gets stored in a column when you do not provide one.",{"title":172,"path":173,"acronym":14,"category":8,"difficulty":9,"description":174},"Denormalization","\u002Fterms\u002Fd\u002Fdenormalization","Denormalization is the intentional opposite of normalization — you duplicate data to make queries faster.",{"title":176,"path":177,"acronym":14,"category":8,"difficulty":9,"description":178},"Dirty Read","\u002Fterms\u002Fd\u002Fdirty-read","A dirty read happens when you read data from another transaction that hasn't committed yet.",{"title":180,"path":181,"acronym":14,"category":8,"difficulty":36,"description":182},"Distributed Database","\u002Fterms\u002Fd\u002Fdistributed-database","A distributed database spreads your data across multiple computers that work together like a hive mind. If one server dies, the others pick up the slack.",{"title":184,"path":185,"acronym":14,"category":8,"difficulty":15,"description":186},"Document Store","\u002Fterms\u002Fd\u002Fdocument-store","A document store lets you throw JSON blobs into your database like tossing papers into a filing cabinet.",{"title":188,"path":189,"acronym":14,"category":8,"difficulty":9,"description":190},"Dragonfly","\u002Fterms\u002Fd\u002Fdragonfly","Dragonfly looked at Redis and said 'I can be 25x faster using modern multi-threaded architecture instead of Redis's single-threaded approach.' It's a drop-",{"title":192,"path":193,"acronym":14,"category":8,"difficulty":9,"description":194},"Drizzle ORM","\u002Fterms\u002Fd\u002Fdrizzle-orm","Drizzle is a TypeScript ORM that feels like writing SQL, not fighting an abstraction layer.",{"title":196,"path":197,"acronym":14,"category":8,"difficulty":9,"description":198},"DuckDB","\u002Fterms\u002Fd\u002Fduckdb","DuckDB is like SQLite's nerdy data analyst sibling. Instead of handling web app transactions, it's built for crunching numbers — analytical queries on mill",{"title":200,"path":201,"acronym":14,"category":8,"difficulty":9,"description":202},"Durability","\u002Fterms\u002Fd\u002Fdurability","Durability means once the database says 'committed', your data is saved forever — even if the server crashes right after.",{"title":204,"path":205,"acronym":14,"category":8,"difficulty":9,"description":206},"ELT","\u002Fterms\u002Fe\u002Felt","ELT is ETL's modern cousin. Instead of transforming data before loading it, you dump the raw data into your warehouse first, then use the warehouse's beefy...",{"title":208,"path":209,"acronym":210,"category":8,"difficulty":9,"description":211},"ERD","\u002Fterms\u002Fe\u002Ferd","Entity Relationship Diagram","An ERD is a visual map of your database — boxes for tables, lines showing how they connect.",{"title":213,"path":214,"acronym":14,"category":8,"difficulty":9,"description":215},"ETL","\u002Fterms\u002Fe\u002Fetl","ETL stands for Extract, Transform, Load. You extract data from sources, transform it (clean, reshape, calculate), then load it into your warehouse.",{"title":217,"path":218,"acronym":14,"category":8,"difficulty":9,"description":219},"Eager Loading","\u002Fterms\u002Fe\u002Feager-loading","Eager loading fetches all the related data you need upfront in one or two queries.",{"title":221,"path":222,"acronym":14,"category":8,"difficulty":36,"description":223},"Edge Database","\u002Fterms\u002Fe\u002Fedge-database","What if your database was everywhere, like coffee shops? Edge Databases put copies of your data at the edge of the network — close to users — so reads are ",{"title":225,"path":226,"acronym":14,"category":8,"difficulty":15,"description":227},"Embedded Database","\u002Fterms\u002Fe\u002Fembedded-database","An embedded database lives inside your app like a roommate who never leaves. No separate server, no network calls, just a file on disk.",{"title":210,"path":229,"acronym":14,"category":8,"difficulty":9,"description":230},"\u002Fterms\u002Fe\u002Fentity-relationship-diagram","Same as ERD — a visual picture of your database tables and how they connect. Lines between boxes show relationships.",{"title":232,"path":233,"acronym":14,"category":8,"difficulty":9,"description":234},"Eventual Consistency","\u002Fterms\u002Fe\u002Feventual-consistency","Eventual consistency means 'give it a moment and everything will match up.' You write data to one server, and the other servers will get the update...",{"title":236,"path":237,"acronym":14,"category":8,"difficulty":36,"description":238},"Explain Plan","\u002Fterms\u002Fe\u002Fexplain-plan","EXPLAIN shows you exactly how the database plans to execute your query — which indexes it uses, how many rows it scans, where it is slow.",{"title":240,"path":241,"acronym":14,"category":8,"difficulty":36,"description":242},"Expression Index","\u002Fterms\u002Fe\u002Fexpression-index","An expression index indexes the result of a function or calculation, not just a raw column. Want to search by lowercase email? Index LOWER(email).",{"title":244,"path":245,"acronym":14,"category":8,"difficulty":36,"description":246},"FULL JOIN","\u002Fterms\u002Ff\u002Ffull-join","FULL JOIN returns everything from both tables regardless of whether there is a match. Rows with no match on either side get NULLs.",{"title":248,"path":249,"acronym":14,"category":8,"difficulty":9,"description":250},"FaunaDB","\u002Fterms\u002Ff\u002Ffaunadb","FaunaDB is a globally distributed database that's obsessed with correctness.",{"title":252,"path":253,"acronym":14,"category":8,"difficulty":15,"description":254},"Field","\u002Fterms\u002Ff\u002Ffield","A field is the intersection of a row and a column — the actual single value stored there. If the 'email' column for user #5 says 'alex@example.",{"title":256,"path":257,"acronym":14,"category":8,"difficulty":15,"description":258},"Firebase","\u002Fterms\u002Ff\u002Ffirebase","Firebase is Google's all-in-one backend-as-a-service. Database, auth, hosting, functions — all pre-built and hosted.",{"title":260,"path":261,"acronym":14,"category":8,"difficulty":15,"description":262},"Firestore","\u002Fterms\u002Ff\u002Ffirestore","Firestore is Google's cloud database that updates your app in real-time when data changes.",{"title":264,"path":265,"acronym":266,"category":8,"difficulty":9,"description":267},"First Normal Form","\u002Fterms\u002Ff\u002Ffirst-normal-form","1NF","First Normal Form (1NF) is the most basic normalization rule: each column should hold one value, not a list.",{"title":269,"path":270,"acronym":14,"category":8,"difficulty":9,"description":271},"Flyway","\u002Fterms\u002Ff\u002Fflyway","Flyway is a migration tool that keeps track of every change you've ever made to your database schema, in order, like a meticulous diary.",{"title":273,"path":274,"acronym":14,"category":8,"difficulty":15,"description":275},"Foreign Key","\u002Fterms\u002Ff\u002Fforeign-key","A foreign key is how you link two tables together. If an 'orders' table has a 'user_id' column pointing to the 'users' table, that is a foreign key.",{"title":277,"path":278,"acronym":14,"category":8,"difficulty":9,"description":279},"Full-Text Search","\u002Fterms\u002Ff\u002Ffull-text-search","Full-text search lets you search through text like Google does, not just exact matches.",{"title":281,"path":282,"acronym":14,"category":8,"difficulty":9,"description":283},"Fuzzy Search","\u002Fterms\u002Ff\u002Ffuzzy-search","Fuzzy search finds results even when the search term is misspelled or slightly off. Search for 'jonh' and it still finds 'John.",{"title":285,"path":286,"acronym":14,"category":8,"difficulty":36,"description":287},"GIN Index","\u002Fterms\u002Fg\u002Fgin-index","A GIN index is like a book's index on steroids. Instead of pointing to one location per entry, each entry can point to thousands of locations.",{"title":289,"path":290,"acronym":14,"category":8,"difficulty":9,"description":291},"GROUP BY","\u002Fterms\u002Fg\u002Fgroup-by","GROUP BY collapses rows with the same value into one group so you can count, sum, or average them. 'How many orders per user?' — GROUP BY user_id.",{"title":293,"path":294,"acronym":295,"category":8,"difficulty":36,"description":296},"GiST Index","\u002Fterms\u002Fg\u002Fgist-index","Generalized Search Tree","A GiST index is PostgreSQL's Swiss Army knife for indexing weird data types.",{"title":298,"path":299,"acronym":14,"category":8,"difficulty":9,"description":300},"Graph Database","\u002Fterms\u002Fg\u002Fgraph-database","A graph database stores data as dots connected by lines, like a social network map.",{"title":302,"path":303,"acronym":14,"category":8,"difficulty":9,"description":304},"HAVING","\u002Fterms\u002Fh\u002Fhaving","HAVING is like WHERE but it filters after GROUP BY aggregation. WHERE filters rows before grouping, HAVING filters groups after.",{"title":306,"path":307,"acronym":14,"category":8,"difficulty":15,"description":308},"Hard Delete","\u002Fterms\u002Fh\u002Fhard-delete","A hard delete is permanent deletion — the data is gone, like shredding a document. No undo, no recovery (unless you have backups).",{"title":310,"path":311,"acronym":14,"category":8,"difficulty":9,"description":312},"Hash Index","\u002Fterms\u002Fh\u002Fhash-index","A hash index uses a hash function to map values directly to locations, making equality lookups insanely fast.",{"title":314,"path":315,"acronym":14,"category":8,"difficulty":9,"description":316},"INNER JOIN","\u002Fterms\u002Fi\u002Finner-join","INNER JOIN only returns rows where there is a match in BOTH tables. If a user has no orders, they do not appear in the result.",{"title":318,"path":319,"acronym":14,"category":8,"difficulty":15,"description":320},"INSERT","\u002Fterms\u002Fi\u002Finsert","INSERT is how you add new data to a database. It is the 'Create' in CRUD. You tell it which table, which columns, and what values to put in.",{"title":322,"path":323,"acronym":14,"category":8,"difficulty":9,"description":324},"In-Memory Database","\u002Fterms\u002Fi\u002Fin-memory-database","An in-memory database keeps everything in RAM instead of on disk, which makes it absurdly fast.",{"title":326,"path":327,"acronym":14,"category":8,"difficulty":9,"description":328},"Index","\u002Fterms\u002Fi","A database index is like the index in the back of a book. Without it, the database reads every single row to find what you want.",{"title":330,"path":331,"acronym":14,"category":8,"difficulty":9,"description":332},"InfluxDB","\u002Fterms\u002Fi\u002Finfluxdb","InfluxDB is obsessed with time. It's built specifically for data that comes with a timestamp, like server metrics, sensor readings, or how many times you r...",{"title":334,"path":335,"acronym":14,"category":8,"difficulty":36,"description":336},"Isolation","\u002Fterms\u002Fi\u002Fisolation","Isolation means concurrent transactions do not see each other's in-progress changes.",{"title":338,"path":339,"acronym":14,"category":8,"difficulty":9,"description":340},"JOIN","\u002Fterms\u002Fj\u002Fjoin","JOIN combines rows from two tables based on a related column.",{"title":342,"path":343,"acronym":14,"category":8,"difficulty":9,"description":344},"Junction Table","\u002Fterms\u002Fj\u002Fjunction-table","A junction table (also called a join table) is the middle table you create to represent a many-to-many relationship.",{"title":346,"path":347,"acronym":14,"category":8,"difficulty":15,"description":348},"Key-Value Store","\u002Fterms\u002Fk\u002Fkey-value-store","A key-value store is the simplest database possible. You give it a name (key) and some data (value), and it remembers it.",{"title":350,"path":351,"acronym":14,"category":8,"difficulty":9,"description":352},"KeyDB","\u002Fterms\u002Fk\u002Fkeydb","KeyDB is another 'Redis but better' contender — it's a multi-threaded fork of actual Redis code. While Redis stubbornly stayed single-threaded, KeyDB said ",{"title":354,"path":355,"acronym":14,"category":8,"difficulty":9,"description":356},"LEFT JOIN","\u002Fterms\u002Fl\u002Fleft-join","LEFT JOIN returns all rows from the left table, and matching rows from the right table.",{"title":358,"path":359,"acronym":14,"category":8,"difficulty":15,"description":360},"LIMIT","\u002Fterms\u002Fl\u002Flimit","LIMIT caps how many rows a query returns. If your users table has 1 million rows, you do not want to load all of them at once.",{"title":362,"path":363,"acronym":14,"category":8,"difficulty":36,"description":364},"LSM Tree","\u002Fterms\u002Fl\u002Flsm-tree","An LSM tree (Log-Structured Merge Tree) is a write-optimized data structure. It buffers writes in memory, then flushes them to disk in sorted chunks.",{"title":366,"path":367,"acronym":14,"category":8,"difficulty":9,"description":368},"LanceDB","\u002Fterms\u002Fl\u002Flancedb","LanceDB stores your vectors in a special columnar file format called Lance, which is like Parquet took steroids specifically for AI workloads.",{"title":370,"path":371,"acronym":14,"category":8,"difficulty":9,"description":372},"Lazy Loading","\u002Fterms\u002Fl\u002Flazy-loading","Lazy loading waits until you actually access related data before fetching it. Access post.author and only then does it query the database.",{"title":374,"path":375,"acronym":14,"category":8,"difficulty":9,"description":376},"LibSQL","\u002Fterms\u002Fl\u002Flibsql","LibSQL is an open-source fork of SQLite that adds the features developers kept wishing SQLite had — like replication, network access, and the ability to ru...",{"title":378,"path":379,"acronym":14,"category":8,"difficulty":9,"description":380},"Liquibase","\u002Fterms\u002Fl\u002Fliquibase","Liquibase is like Flyway's more enterprise cousin who wears a suit. It tracks database changes but uses XML, YAML, or JSON changelogs instead of raw SQL.",{"title":382,"path":383,"acronym":14,"category":8,"difficulty":36,"description":384},"Locking","\u002Fterms\u002Fl\u002Flocking","Locking prevents two transactions from modifying the same data at the same time. It is how databases coordinate concurrent access.",{"title":386,"path":387,"acronym":14,"category":8,"difficulty":36,"description":388},"MVCC","\u002Fterms\u002Fm\u002Fmvcc","MVCC (Multi-Version Concurrency Control) is how databases let multiple users read and write at the same time without stepping on each other's toes.",{"title":390,"path":391,"acronym":14,"category":8,"difficulty":9,"description":392},"Many-to-Many","\u002Fterms\u002Fm\u002Fmany-to-many","Many-to-Many means rows on both sides can relate to many rows on the other side. Students can enroll in many courses, and courses can have many students.",{"title":394,"path":395,"acronym":14,"category":8,"difficulty":9,"description":396},"MariaDB","\u002Fterms\u002Fm\u002Fmariadb","MariaDB is MySQL's open-source twin that split off when Oracle bought MySQL and people got nervous.",{"title":398,"path":399,"acronym":14,"category":8,"difficulty":9,"description":400},"Materialized View","\u002Fterms\u002Fm\u002Fmaterialized-view","A materialized view is a saved query result that the database keeps on disk like a cheat sheet.",{"title":402,"path":403,"acronym":14,"category":8,"difficulty":15,"description":404},"Meilisearch","\u002Fterms\u002Fm\u002Fmeilisearch","You want search-as-you-type on your app. Elasticsearch needs a PhD and a dedicated ops team. Meilisearch needs about 15 minutes and one Docker command.",{"title":406,"path":407,"acronym":14,"category":8,"difficulty":15,"description":408},"Migration","\u002Fterms\u002Fm\u002Fmigration","A migration is a versioned script that modifies your database schema — adding a column, creating a table, changing a type.",{"title":410,"path":411,"acronym":14,"category":8,"difficulty":15,"description":412},"MongoDB","\u002Fterms\u002Fm\u002Fmongodb","MongoDB stores data as JSON-like documents instead of tables. Imagine instead of rows in a spreadsheet, you store entire JavaScript objects.",{"title":414,"path":415,"acronym":14,"category":8,"difficulty":36,"description":416},"Multi-Primary Replication","\u002Fterms\u002Fm\u002Fmulti-primary-replication","Multi-primary replication lets multiple database servers accept writes simultaneously, like having multiple cashiers at a store.",{"title":418,"path":419,"acronym":14,"category":8,"difficulty":15,"description":420},"MySQL","\u002Fterms\u002Fm\u002Fmysql","MySQL is the OG popular kid of databases. Half the internet runs on it (WordPress, Facebook originally).",{"title":422,"path":423,"acronym":14,"category":8,"difficulty":9,"description":424},"N+1 Query","\u002Fterms\u002Fn\u002Fn-1-query","N+1 is when your code runs 1 query to get a list of things, then runs 1 more query for EACH thing on the list.",{"title":426,"path":427,"acronym":14,"category":8,"difficulty":9,"description":428},"Neo4j","\u002Fterms\u002Fn\u002Fneo4j","Neo4j stores data as a web of connections, like a conspiracy board with red strings connecting everything.",{"title":430,"path":431,"acronym":14,"category":8,"difficulty":15,"description":432},"Neon","\u002Fterms\u002Fn\u002Fneon","Neon is serverless Postgres — it scales to zero when nobody's using it and wakes up instantly when they do. Like Vercel for databases.",{"title":434,"path":435,"acronym":14,"category":8,"difficulty":36,"description":436},"NewSQL","\u002Fterms\u002Fn\u002Fnewsql","NewSQL databases are like someone said 'I want the scale of NoSQL but I refuse to give up SQL and transactions.",{"title":438,"path":439,"acronym":440,"category":8,"difficulty":9,"description":441},"NoSQL","\u002Fterms\u002Fn\u002Fnosql","Not Only SQL","NoSQL databases are like the rebellious cousin of regular databases.",{"title":443,"path":444,"acronym":14,"category":8,"difficulty":9,"description":445},"Normalization","\u002Fterms\u002Fn\u002Fnormalization","Normalization is the process of organizing your database to reduce data duplication.",{"title":447,"path":448,"acronym":14,"category":8,"difficulty":15,"description":449},"Not Null","\u002Fterms\u002Fn\u002Fnot-null","NOT NULL is how you tell the database 'this field MUST have a value — you cannot leave it blank.",{"title":451,"path":452,"acronym":14,"category":8,"difficulty":9,"description":453},"OFFSET","\u002Fterms\u002Fo\u002Foffset","OFFSET skips a number of rows before starting to return results.",{"title":455,"path":456,"acronym":14,"category":8,"difficulty":9,"description":457},"OLAP","\u002Fterms\u002Fo\u002Folap","OLAP is all about analyzing huge amounts of data to answer business questions. 'What were total sales by region last quarter?' That's an OLAP query.",{"title":459,"path":460,"acronym":14,"category":8,"difficulty":9,"description":461},"OLTP","\u002Fterms\u002Fo\u002Foltp","OLTP is the workhorse behind every app. It handles fast, small transactions: creating users, placing orders, updating profiles.",{"title":463,"path":464,"acronym":14,"category":8,"difficulty":15,"description":465},"ORDER BY","\u002Fterms\u002Fo\u002Forder-by","ORDER BY sorts your query results. Add DESC for newest first, ASC for oldest first.",{"title":467,"path":468,"acronym":14,"category":8,"difficulty":15,"description":469},"One-to-Many","\u002Fterms\u002Fo\u002Fone-to-many","One-to-Many means one row in Table A can relate to many rows in Table B. One user can have many orders. One post can have many comments.",{"title":471,"path":472,"acronym":14,"category":8,"difficulty":15,"description":473},"One-to-One","\u002Fterms\u002Fo\u002Fone-to-one","One-to-One is a relationship where one row in Table A corresponds to exactly one row in Table B. Like a user and their profile — one user, one profile.",{"title":475,"path":476,"acronym":14,"category":8,"difficulty":36,"description":477},"Optimistic Locking","\u002Fterms\u002Fo\u002Foptimistic-locking","Optimistic locking assumes conflicts are rare so it does not lock the row upfront. Instead, it adds a version number to each row.",{"title":479,"path":480,"acronym":14,"category":8,"difficulty":36,"description":481},"PACELC Theorem","\u002Fterms\u002Fp\u002Fpacelc-theorem","PACELC is CAP theorem's smarter older sibling. It says: during a Partition, choose between Availability and Consistency.",{"title":483,"path":484,"acronym":14,"category":8,"difficulty":36,"description":485},"Partial Index","\u002Fterms\u002Fp\u002Fpartial-index","A partial index only indexes the rows you actually care about. Why index 10 million archived orders when you only ever query the active ones?",{"title":487,"path":488,"acronym":14,"category":8,"difficulty":36,"description":489},"Partitioning","\u002Fterms\u002Fp\u002Fpartitioning","Partitioning divides a huge table into smaller physical chunks while still appearing as one table to your queries.",{"title":491,"path":492,"acronym":14,"category":8,"difficulty":36,"description":493},"Pessimistic Locking","\u002Fterms\u002Fp\u002Fpessimistic-locking","Pessimistic locking assumes conflicts are likely, so it locks the row the moment you read it. Nobody else can touch it until you are done.",{"title":495,"path":496,"acronym":14,"category":8,"difficulty":9,"description":497},"PgBouncer","\u002Fterms\u002Fp\u002Fpgbouncer","PgBouncer is a lightweight connection pooler that sits in front of PostgreSQL and recycles database connections like a good environmentalist.",{"title":499,"path":500,"acronym":14,"category":8,"difficulty":36,"description":501},"Phantom Read","\u002Fterms\u002Fp\u002Fphantom-read","A phantom read is when you run the same query twice in a transaction and get different rows back because another transaction inserted or deleted matching r...",{"title":503,"path":504,"acronym":14,"category":8,"difficulty":36,"description":505},"Pinecone","\u002Fterms\u002Fp\u002Fpinecone","Normal databases store facts. Pinecone stores vibes — mathematical representations of meaning. Ask it 'what's similar to this sentence?",{"title":507,"path":508,"acronym":14,"category":8,"difficulty":9,"description":509},"Pivot Table","\u002Fterms\u002Fp\u002Fpivot-table","Pivot Table means two different things. In Laravel\u002FPHP it is just another name for a junction table.",{"title":511,"path":512,"acronym":14,"category":8,"difficulty":36,"description":513},"Point-in-Time Recovery","\u002Fterms\u002Fp\u002Fpoint-in-time-recovery","Point-in-time recovery (PITR) is the database equivalent of a time machine. Accidentally deleted all your users at 3:47 PM?",{"title":515,"path":516,"acronym":14,"category":8,"difficulty":15,"description":517},"PostgreSQL","\u002Fterms\u002Fp\u002Fpostgresql","PostgreSQL (just say 'Postgres') is the Swiss Army knife of databases.",{"title":519,"path":520,"acronym":14,"category":8,"difficulty":15,"description":521},"Primary Key","\u002Fterms\u002Fp\u002Fprimary-key","A primary key is the unique ID that every row in a table must have. Like a social security number for your data — no two rows can have the same one.",{"title":523,"path":524,"acronym":14,"category":8,"difficulty":36,"description":525},"Qdrant","\u002Fterms\u002Fq\u002Fqdrant","Qdrant is the Rust programmer's answer to vector databases — same idea as Pinecone but written in a language that would make a C developer cry tears of joy...",{"title":527,"path":528,"acronym":14,"category":8,"difficulty":36,"description":529},"Query Optimization","\u002Fterms\u002Fq\u002Fquery-optimization","Query optimization is the art of making slow database queries fast. Add an index here, rewrite that subquery as a JOIN, fetch only the columns you need.",{"title":531,"path":532,"acronym":14,"category":8,"difficulty":36,"description":533},"QuestDB","\u002Fterms\u002Fq\u002Fquestdb","QuestDB is the time-series database that said 'hold my beer' and started ingesting millions of rows per second on a single machine. It uses memory-mapped f",{"title":535,"path":536,"acronym":14,"category":8,"difficulty":9,"description":537},"RIGHT JOIN","\u002Fterms\u002Fr\u002Fright-join","RIGHT JOIN is LEFT JOIN's mirror image — it returns all rows from the right table, and matching rows from the left.",{"title":539,"path":540,"acronym":14,"category":8,"difficulty":36,"description":541},"Raft","\u002Fterms\u002Fr\u002Fraft","Raft is a consensus algorithm designed to be understandable, unlike its predecessor Paxos which requires a PhD to read.",{"title":543,"path":544,"acronym":14,"category":8,"difficulty":9,"description":545},"Read Committed","\u002Fterms\u002Fr\u002Fread-committed","Read Committed is the default isolation level in PostgreSQL.",{"title":547,"path":548,"acronym":14,"category":8,"difficulty":9,"description":549},"Read Replica","\u002Fterms\u002Fr\u002Fread-replica","A read replica is a copy of your database that only handles read queries.",{"title":551,"path":552,"acronym":14,"category":8,"difficulty":15,"description":553},"Record","\u002Fterms\u002Fr\u002Frecord","A record is just another word for a row. Developers love having five words for the same thing to keep you on your toes.",{"title":555,"path":556,"acronym":14,"category":8,"difficulty":36,"description":557},"Recursive Query","\u002Fterms\u002Fr\u002Frecursive-query","A recursive query is SQL that calls itself, like a mirror reflecting a mirror.",{"title":559,"path":560,"acronym":14,"category":8,"difficulty":36,"description":561},"Redis Cluster","\u002Fterms\u002Fr\u002Fredis-cluster","One Redis server is fast. But what if you need MORE fast? Redis Cluster takes your data and spreads it across multiple Redis nodes using hash slots, like d",{"title":563,"path":564,"acronym":14,"category":8,"difficulty":15,"description":565},"Redis Pub\u002FSub","\u002Fterms\u002Fr\u002Fredis-pub-sub","Redis Pub\u002FSub is like a PA system in a building. You shout a message on a channel, and everyone listening to that channel hears it instantly. But if nobody",{"title":567,"path":568,"acronym":14,"category":8,"difficulty":9,"description":569},"Redis Streams","\u002Fterms\u002Fr\u002Fredis-streams","Redis looked at Kafka and said 'I can do that too, but simpler and from memory!' Redis Streams is an append-only log data structure built right into Redis.",{"title":571,"path":572,"acronym":14,"category":8,"difficulty":36,"description":573},"Replication","\u002Fterms\u002Fr\u002Freplication","Replication means automatically copying your database to one or more other servers in real time. If the main server dies, a replica takes over.",{"title":575,"path":576,"acronym":14,"category":8,"difficulty":15,"description":577},"Restore","\u002Fterms\u002Fr\u002Frestore","Restore means loading a backup back into your database to undo something bad. Someone deleted the production data? Restore from last night's backup.",{"title":579,"path":580,"acronym":14,"category":8,"difficulty":15,"description":581},"Row","\u002Fterms\u002Fr\u002Frow","A row is one single record in a table. If your users table has 500 users, it has 500 rows.",{"title":583,"path":584,"acronym":14,"category":8,"difficulty":36,"description":585},"Row-Level Security","\u002Fterms\u002Fr\u002Frow-level-security","Row-level security (RLS) is like having an invisible bouncer on every table row.",{"title":587,"path":588,"acronym":14,"category":8,"difficulty":15,"description":589},"SELECT","\u002Fterms\u002Fs\u002Fselect","SELECT is how you ask a database to give you data. It is the 'Read' in CRUD.",{"title":591,"path":592,"acronym":593,"category":8,"difficulty":15,"description":594},"SQL","\u002Fterms\u002Fs\u002Fsql","Structured Query Language","SQL is the language you use to talk to a database. You ask it things like 'give me all users who signed up this week' and it actually does it.",{"title":596,"path":597,"acronym":14,"category":8,"difficulty":15,"description":598},"SQLite","\u002Fterms\u002Fs\u002Fsqlite","SQLite is a database that lives entirely in a single file on your computer. No server, no setup, just a file.",{"title":600,"path":601,"acronym":14,"category":8,"difficulty":9,"description":602},"SQLite in Production","\u002Fterms\u002Fs\u002Fsqlite-in-production","Everyone says 'SQLite is just for dev and mobile!' but then you realize it powers more active deployments than all other databases combined. It's a databas",{"title":604,"path":605,"acronym":14,"category":8,"difficulty":15,"description":606},"Schema","\u002Fterms\u002Fs\u002Fschema","A database schema is the blueprint of your database — which tables exist, what columns they have, what types they are, and how they relate to each other.",{"title":608,"path":609,"acronym":14,"category":8,"difficulty":9,"description":610},"Schema Migration Tool","\u002Fterms\u002Fs\u002Fschema-migration-tool","A schema migration tool is version control for your database.",{"title":612,"path":613,"acronym":14,"category":8,"difficulty":15,"description":614},"Seed","\u002Fterms\u002Fs\u002Fseed","Seeding a database means filling it with initial or test data automatically.",{"title":616,"path":617,"acronym":14,"category":8,"difficulty":36,"description":618},"Serializable Isolation","\u002Fterms\u002Fs\u002Fserializable-isolation","Serializable isolation is the strictest mode where the database pretends all transactions run one after another, even though they're actually concurrent.",{"title":620,"path":621,"acronym":14,"category":8,"difficulty":36,"description":622},"Sharding","\u002Fterms\u002Fs\u002Fsharding","Sharding splits your database across multiple servers based on some rule — like user IDs 1-1M on server 1, 1M-2M on server 2.",{"title":624,"path":625,"acronym":14,"category":8,"difficulty":36,"description":626},"Snapshot Isolation","\u002Fterms\u002Fs\u002Fsnapshot-isolation","Snapshot isolation gives each transaction a frozen-in-time photo of the database.",{"title":628,"path":629,"acronym":14,"category":8,"difficulty":9,"description":630},"Snowflake Schema","\u002Fterms\u002Fs\u002Fsnowflake-schema","A snowflake schema is a star schema where the dimension tables are normalized into sub-tables, making the diagram look like a snowflake.",{"title":632,"path":633,"acronym":14,"category":8,"difficulty":15,"description":634},"Soft Delete","\u002Fterms\u002Fs\u002Fsoft-delete","A soft delete is marking something as deleted without actually deleting it — like putting a file in the trash instead of permanently deleting it.",{"title":636,"path":637,"acronym":14,"category":8,"difficulty":9,"description":638},"Star Schema","\u002Fterms\u002Fs\u002Fstar-schema","A star schema organizes your warehouse like a star.",{"title":640,"path":641,"acronym":14,"category":8,"difficulty":36,"description":642},"Stored Procedure","\u002Fterms\u002Fs\u002Fstored-procedure","A stored procedure is a named program you write in SQL (and sometimes a procedural language) that lives inside the database.",{"title":644,"path":645,"acronym":14,"category":8,"difficulty":9,"description":646},"Strong Consistency","\u002Fterms\u002Fs\u002Fstrong-consistency","Strong consistency means the moment you write something, everyone everywhere immediately sees the updated value. No 'give it a sec' nonsense.",{"title":648,"path":649,"acronym":14,"category":8,"difficulty":9,"description":650},"Subquery","\u002Fterms\u002Fs\u002Fsubquery","A subquery is a query inside a query. The inner query runs first and its result is used by the outer query.",{"title":652,"path":653,"acronym":14,"category":8,"difficulty":15,"description":654},"Supabase","\u002Fterms\u002Fs\u002Fsupabase","Supabase is Firebase but built on real Postgres SQL. You get a database, auth, file storage, and real-time updates all in one.",{"title":656,"path":657,"acronym":14,"category":8,"difficulty":9,"description":658},"SurrealDB","\u002Fterms\u002Fs\u002Fsurrealdb","SurrealDB is the Swiss Army chainsaw of databases. It does documents, graphs, key-value, AND relational all in one.",{"title":660,"path":661,"acronym":14,"category":8,"difficulty":15,"description":662},"Table","\u002Fterms\u002Ft\u002Ftable","A database table is exactly like a spreadsheet tab. It has columns across the top (name, email, age) and rows going down (one per person).",{"title":664,"path":665,"acronym":14,"category":8,"difficulty":9,"description":666},"Time-Series Database","\u002Fterms\u002Ft\u002Ftime-series-database","A time-series database is laser-focused on data that happens over time. Temperature readings, stock prices, server CPU usage, your heart rate, whatever.",{"title":668,"path":669,"acronym":14,"category":8,"difficulty":9,"description":670},"TimescaleDB","\u002Fterms\u002Ft\u002Ftimescaledb","You love Postgres but your IoT sensors are writing a million rows per second.",{"title":672,"path":673,"acronym":14,"category":8,"difficulty":9,"description":674},"Transaction","\u002Fterms\u002Ft\u002Ftransaction","A transaction groups multiple database operations into one all-or-nothing bundle. Either ALL of them succeed, or NONE of them happen.",{"title":676,"path":677,"acronym":14,"category":8,"difficulty":36,"description":678},"Trigger","\u002Fterms\u002Ft\u002Ftrigger","A trigger is code that the database runs automatically when something happens — like automatically updating an 'updated_at' timestamp whenever a row change...",{"title":680,"path":681,"acronym":14,"category":8,"difficulty":9,"description":682},"Trigram Search","\u002Fterms\u002Ft\u002Ftrigram-search","Trigram search breaks words into groups of three letters and matches them fuzzily.",{"title":684,"path":685,"acronym":14,"category":8,"difficulty":9,"description":686},"Turso","\u002Fterms\u002Ft\u002Fturso","Turso is SQLite at the edge — it puts tiny, fast SQLite databases close to your users around the world and keeps them in sync.",{"title":688,"path":689,"acronym":14,"category":8,"difficulty":36,"description":690},"Two-Phase Commit","\u002Fterms\u002Ft\u002Ftwo-phase-commit","Two-phase commit (2PC) is like a wedding ceremony for distributed transactions. Phase 1: 'Do you all agree to commit?' Every node says yes or no.",{"title":692,"path":693,"acronym":14,"category":8,"difficulty":15,"description":694},"Typesense","\u002Fterms\u002Ft\u002Ftypesense","Your users can't spell. Neither can mine. Typesense doesn't care — it finds 'machien leraning' and returns 'machine learning' results anyway.",{"title":696,"path":697,"acronym":14,"category":8,"difficulty":15,"description":698},"UPDATE","\u002Fterms\u002Fu\u002Fupdate","UPDATE changes existing data in a table. It is the 'Update' in CRUD.",{"title":700,"path":701,"acronym":702,"category":8,"difficulty":9,"description":703},"UUID","\u002Fterms\u002Fu\u002Fuuid","Universally Unique Identifier","A UUID is a randomly generated ID that looks like 'a3b4c5d6-...' and is practically guaranteed to be unique across the entire universe.",{"title":705,"path":706,"acronym":14,"category":8,"difficulty":15,"description":707},"Unique Constraint","\u002Fterms\u002Fu\u002Funique-constraint","A unique constraint tells the database 'no two rows can have the same value in this column.",{"title":709,"path":710,"acronym":14,"category":8,"difficulty":15,"description":711},"Upstash","\u002Fterms\u002Fu\u002Fupstash","Upstash gives you Redis and Kafka as serverless services with per-request pricing.",{"title":713,"path":714,"acronym":14,"category":8,"difficulty":9,"description":715},"Valkey","\u002Fterms\u002Fv\u002Fvalkey","When Redis changed its license and everyone panicked, the Linux Foundation said 'don't worry, we'll fork it!' Valkey is that community fork — it's Redis bu",{"title":717,"path":718,"acronym":14,"category":8,"difficulty":36,"description":719},"Vector Clock","\u002Fterms\u002Fv\u002Fvector-clock","A vector clock is a way for distributed servers to figure out the order of events without a synchronized wall clock.",{"title":721,"path":722,"acronym":14,"category":8,"difficulty":9,"description":723},"View","\u002Fterms\u002Fv\u002Fview","A view is a saved query that looks and acts like a table.",{"title":725,"path":726,"acronym":14,"category":8,"difficulty":15,"description":727},"WHERE","\u002Fterms\u002Fw\u002Fwhere","WHERE is how you filter which rows a query affects. Without WHERE, SELECT returns everything, UPDATE changes everything, DELETE deletes everything.",{"title":729,"path":730,"acronym":14,"category":8,"difficulty":36,"description":731},"Weaviate","\u002Fterms\u002Fw\u002Fweaviate","Other vector databases expect you to show up with embeddings pre-made, like bringing your own food to a restaurant.",{"title":733,"path":734,"acronym":14,"category":8,"difficulty":36,"description":735},"Wide Column Store","\u002Fterms\u002Fw\u002Fwide-column-store","A wide column store is like a spreadsheet where every row can have completely different columns, and there can be billions of them.",{"title":737,"path":738,"acronym":14,"category":8,"difficulty":9,"description":739},"Window Function","\u002Fterms\u002Fw\u002Fwindow-function","Window functions let you do calculations across related rows without collapsing them into one result like GROUP BY does.",{"title":741,"path":742,"acronym":14,"category":8,"difficulty":36,"description":743},"Write-Ahead Log","\u002Fterms\u002Fw\u002Fwrite-ahead-log","The Write-Ahead Log (WAL) is the database's diary. Before changing any actual data, the database first writes what it's about to do in this log.",1776518250173]