[{"data":1,"prerenderedAt":355},["ShallowReactive",2],{"content-query-2A4WFSX6Sh":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"sidebar_position":10,"body":11,"_type":349,"_id":350,"_source":351,"_file":352,"_stem":353,"_extension":354},"/docs/features/database","features",false,"","Database Clusters","At the core of the CredVault Data Platform is our globally distributed, multi-model database engine allowing both Document-oriented (NoSQL) and Relational (SQL) operations on the same data.",2,{"type":12,"children":13,"toc":340},"root",[14,22,27,34,39,75,81,86,93,98,193,199,204,256,262,267,300,306,311,334],{"type":15,"tag":16,"props":17,"children":19},"element","h1",{"id":18},"database-clusters",[20],{"type":21,"value":8},"text",{"type":15,"tag":23,"props":24,"children":25},"p",{},[26],{"type":21,"value":9},{"type":15,"tag":28,"props":29,"children":31},"h2",{"id":30},"cluster-architecture",[32],{"type":21,"value":33},"Cluster Architecture",{"type":15,"tag":23,"props":35,"children":36},{},[37],{"type":21,"value":38},"When you create a Database Cluster in CredVault, you instantly receive a highly available, replicated data store.",{"type":15,"tag":40,"props":41,"children":42},"ul",{},[43,55,65],{"type":15,"tag":44,"props":45,"children":46},"li",{},[47,53],{"type":15,"tag":48,"props":49,"children":50},"strong",{},[51],{"type":21,"value":52},"Primary Node",{"type":21,"value":54},": Handles all write operations and guarantees strict consistency.",{"type":15,"tag":44,"props":56,"children":57},{},[58,63],{"type":15,"tag":48,"props":59,"children":60},{},[61],{"type":21,"value":62},"Replica Nodes",{"type":21,"value":64},": Automatically scaled read-replicas that serve data globally to minimize latency.",{"type":15,"tag":44,"props":66,"children":67},{},[68,73],{"type":15,"tag":48,"props":69,"children":70},{},[71],{"type":21,"value":72},"Automated Failover",{"type":21,"value":74},": If a primary node goes down, a replica is promoted instantly within milliseconds, ensuring zero downtime.",{"type":15,"tag":28,"props":76,"children":78},{"id":77},"data-querying-mql-sql",[79],{"type":21,"value":80},"Data Querying (MQL & SQL)",{"type":15,"tag":23,"props":82,"children":83},{},[84],{"type":21,"value":85},"CredVault pioneered Hybrid Querying, letting you use the right tool for the job.",{"type":15,"tag":87,"props":88,"children":90},"h3",{"id":89},"document-mql-mongodb-compatible",[91],{"type":21,"value":92},"Document MQL (MongoDB-Compatible)",{"type":15,"tag":23,"props":94,"children":95},{},[96],{"type":21,"value":97},"Use flexible, JSON-like MQL for rapidly changing schemas and nested object storage.",{"type":15,"tag":99,"props":100,"children":104},"pre",{"className":101,"code":102,"language":103,"meta":7,"style":7},"language-javascript shiki shiki-themes github-dark","// Example: Find active users in London\ndb.collection('users').find({ active: true, 'address.city': 'London' })\n","javascript",[105],{"type":15,"tag":106,"props":107,"children":108},"code",{"__ignoreMap":7},[109,121],{"type":15,"tag":110,"props":111,"children":114},"span",{"class":112,"line":113},"line",1,[115],{"type":15,"tag":110,"props":116,"children":118},{"style":117},"--shiki-default:#6A737D",[119],{"type":21,"value":120},"// Example: Find active users in London\n",{"type":15,"tag":110,"props":122,"children":123},{"class":112,"line":10},[124,130,136,141,147,152,157,162,168,173,178,183,188],{"type":15,"tag":110,"props":125,"children":127},{"style":126},"--shiki-default:#E1E4E8",[128],{"type":21,"value":129},"db.",{"type":15,"tag":110,"props":131,"children":133},{"style":132},"--shiki-default:#B392F0",[134],{"type":21,"value":135},"collection",{"type":15,"tag":110,"props":137,"children":138},{"style":126},[139],{"type":21,"value":140},"(",{"type":15,"tag":110,"props":142,"children":144},{"style":143},"--shiki-default:#9ECBFF",[145],{"type":21,"value":146},"'users'",{"type":15,"tag":110,"props":148,"children":149},{"style":126},[150],{"type":21,"value":151},").",{"type":15,"tag":110,"props":153,"children":154},{"style":132},[155],{"type":21,"value":156},"find",{"type":15,"tag":110,"props":158,"children":159},{"style":126},[160],{"type":21,"value":161},"({ active: ",{"type":15,"tag":110,"props":163,"children":165},{"style":164},"--shiki-default:#79B8FF",[166],{"type":21,"value":167},"true",{"type":15,"tag":110,"props":169,"children":170},{"style":126},[171],{"type":21,"value":172},", ",{"type":15,"tag":110,"props":174,"children":175},{"style":143},[176],{"type":21,"value":177},"'address.city'",{"type":15,"tag":110,"props":179,"children":180},{"style":126},[181],{"type":21,"value":182},": ",{"type":15,"tag":110,"props":184,"children":185},{"style":143},[186],{"type":21,"value":187},"'London'",{"type":15,"tag":110,"props":189,"children":190},{"style":126},[191],{"type":21,"value":192}," })\n",{"type":15,"tag":87,"props":194,"children":196},{"id":195},"advanced-sql-engine",[197],{"type":21,"value":198},"Advanced SQL Engine",{"type":15,"tag":23,"props":200,"children":201},{},[202],{"type":21,"value":203},"Need to perform complex aggregations, joins across collections, or connect standard BI tools? Drop right into our powerful LakeVault SQL Engine.",{"type":15,"tag":99,"props":205,"children":209},{"className":206,"code":207,"language":208,"meta":7,"style":7},"language-sql shiki shiki-themes github-dark","-- Example: Join users and orders\nSELECT users.name, SUM(orders.total) \nFROM users \nJOIN orders ON users._id = orders.user_id \nGROUP BY users.name\n","sql",[210],{"type":15,"tag":106,"props":211,"children":212},{"__ignoreMap":7},[213,221,229,238,247],{"type":15,"tag":110,"props":214,"children":215},{"class":112,"line":113},[216],{"type":15,"tag":110,"props":217,"children":218},{},[219],{"type":21,"value":220},"-- Example: Join users and orders\n",{"type":15,"tag":110,"props":222,"children":223},{"class":112,"line":10},[224],{"type":15,"tag":110,"props":225,"children":226},{},[227],{"type":21,"value":228},"SELECT users.name, SUM(orders.total) \n",{"type":15,"tag":110,"props":230,"children":232},{"class":112,"line":231},3,[233],{"type":15,"tag":110,"props":234,"children":235},{},[236],{"type":21,"value":237},"FROM users \n",{"type":15,"tag":110,"props":239,"children":241},{"class":112,"line":240},4,[242],{"type":15,"tag":110,"props":243,"children":244},{},[245],{"type":21,"value":246},"JOIN orders ON users._id = orders.user_id \n",{"type":15,"tag":110,"props":248,"children":250},{"class":112,"line":249},5,[251],{"type":15,"tag":110,"props":252,"children":253},{},[254],{"type":21,"value":255},"GROUP BY users.name\n",{"type":15,"tag":28,"props":257,"children":259},{"id":258},"indexing-performance",[260],{"type":21,"value":261},"Indexing & Performance",{"type":15,"tag":23,"props":263,"children":264},{},[265],{"type":21,"value":266},"CredVault automatically optimizes your queries, but provides absolute manual control when you need it:",{"type":15,"tag":40,"props":268,"children":269},{},[270,280,290],{"type":15,"tag":44,"props":271,"children":272},{},[273,278],{"type":15,"tag":48,"props":274,"children":275},{},[276],{"type":21,"value":277},"Compound Indexes",{"type":21,"value":279},": Speed up complex queries spanning multiple fields.",{"type":15,"tag":44,"props":281,"children":282},{},[283,288],{"type":15,"tag":48,"props":284,"children":285},{},[286],{"type":21,"value":287},"Unique Indexes",{"type":21,"value":289},": Guarantee business logic constraints at the database level.",{"type":15,"tag":44,"props":291,"children":292},{},[293,298],{"type":15,"tag":48,"props":294,"children":295},{},[296],{"type":21,"value":297},"Vector Indexes",{"type":21,"value":299},": Store and search High-Dimensional embeddings for AI workloads.",{"type":15,"tag":28,"props":301,"children":303},{"id":302},"backups-point-in-time-recovery",[304],{"type":21,"value":305},"Backups & Point-in-Time Recovery",{"type":15,"tag":23,"props":307,"children":308},{},[309],{"type":21,"value":310},"Every cluster includes automated, continuous backups.",{"type":15,"tag":40,"props":312,"children":313},{},[314,324],{"type":15,"tag":44,"props":315,"children":316},{},[317,322],{"type":15,"tag":48,"props":318,"children":319},{},[320],{"type":21,"value":321},"Daily Snapshots",{"type":21,"value":323},": Stored securely across regions.",{"type":15,"tag":44,"props":325,"children":326},{},[327,332],{"type":15,"tag":48,"props":328,"children":329},{},[330],{"type":21,"value":331},"Point-in-Time Recovery (PITR)",{"type":21,"value":333},": Accidentally dropped a collection? Rewind your database to the exact millisecond before the mistake occurred.",{"type":15,"tag":335,"props":336,"children":337},"style",{},[338],{"type":21,"value":339},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":10,"depth":10,"links":341},[342,343,347,348],{"id":30,"depth":10,"text":33},{"id":77,"depth":10,"text":80,"children":344},[345,346],{"id":89,"depth":231,"text":92},{"id":195,"depth":231,"text":198},{"id":258,"depth":10,"text":261},{"id":302,"depth":10,"text":305},"markdown","content:docs:features:database.md","content","docs/features/database.md","docs/features/database","md",1777847380897]