129:
32:
215:. Exposing the data types to the database program allows it to apply a number of optimizations. In contrast, key–value systems treat the data as a single opaque collection, which may have different fields for every record. This offers considerable flexibility and more closely follows modern concepts like
286:
Every entity (record) is a set of key–value pairs. A key has multiple components, specified as an ordered list. The major key identifies the record and consists of the leading components of the key. The subsequent components are called minor keys. This organization is similar to a directory path
200:
287:
specification in a file system (e.g., /Major/minor1/minor2/). The “value” part of the key–value pair is simply an uninterpreted string of bytes of arbitrary length.
226:
Performance, a lack of standardization and other issues have limited key–value systems to niche uses for many years, but the rapid move to
219:. Because optional values are not represented by placeholders or input parameters, as in most RDBs, key–value databases often use far less
96:
68:
549:
463:
75:
49:
516:
306:. The dbm manages associative arrays of arbitrary data by use of a single key (a primary key). Modern implementations include
82:
533:
64:
115:
318:
precedes the concept of a NoSQL and is rarely mentioned in modern discourse, it is used by many pieces of software.
211:(RDB). RDBs predefine the data structure in the database as a series of tables containing fields with well defined
167:
600:
244:
53:
511:
456:
683:
678:
668:
491:
408:
216:
89:
595:
432:
373:
178:
172:
688:
673:
449:
184:
642:
388:
307:
42:
698:
368:
19:
This article is about a storage system architecture. For the mode of data representation, see
590:
496:
378:
330:
261:
8:
559:
208:
223:
to store the same data, which can lead to large performance gains in certain workloads.
693:
605:
585:
486:
272:
20:
610:
299:
276:
257:
149:
133:
242:, are also key–value databases internally, adding the concept of the relationships (
620:
506:
188:
within them, each containing data. These records are stored and retrieved using a
528:
334:
291:
280:
265:
227:
220:
523:
472:
235:
153:
325:
which is used as storage engine for other database management systems such as
203:
A table showing different formatted data values associated with different keys
136:
showing a key–value pair, in this instance a number and its base-ten logarithm
662:
625:
501:
363:
192:
that uniquely identifies the record, and is used to find the data within the
148:, is a data storage paradigm designed for storing, retrieving, and managing
632:
569:
295:
207:
Key–value databases work in a very different fashion from the better known
647:
564:
383:
311:
615:
554:
162:
128:
338:
212:
31:
358:
346:
326:
303:
239:
193:
441:
294:(database manager), which is a 1979 library originally written by
322:
342:
231:
230:
after 2010 has led to a renaissance as part of the broader
199:
56:. Unsourced material may be challenged and removed.
321:A more recent example of a key-value database is
302:, provided through programming languages such as
660:
248:) between records as a first class data type.
457:
132:A tabular data card proposed for Babbage's
464:
450:
116:Learn how and when to remove this message
198:
127:
661:
445:
251:
182:, which in turn have many different
54:adding citations to reliable sources
25:
471:
13:
14:
710:
268:. Some support ordering of keys.
30:
156:more commonly known today as a
41:needs additional citations for
426:
401:
1:
394:
256:Key–value databases can use
7:
352:
217:object-oriented programming
10:
715:
374:Document-oriented database
18:
578:
542:
479:
329:. Other examples include
290:The Unix system provides
166:. Dictionaries contain a
643:Ordered Key-Value Store
389:Ordered Key-Value Store
298:. It is also ported to
534:Entity–attribute–value
369:Distributed data store
275:, while others employ
204:
137:
433:Oracle NoSQL Database
202:
131:
16:Data storage paradigm
379:Multi-model database
331:Aerospike (database)
262:eventual consistency
209:relational databases
65:"Key–value database"
50:improve this article
684:Key-value databases
512:Entity–relationship
271:Some maintain data
679:Associative arrays
669:Types of databases
277:solid-state drives
258:consistency models
252:Types and examples
205:
150:associative arrays
142:key–value database
138:
656:
655:
601:Object–relational
596:Document-oriented
550:Multi-dimensional
409:"Storage Engines"
300:Microsoft Windows
134:Analytical Engine
126:
125:
118:
100:
706:
621:Transaction time
466:
459:
452:
443:
442:
436:
430:
424:
423:
421:
419:
405:
121:
114:
110:
107:
101:
99:
58:
34:
26:
714:
713:
709:
708:
707:
705:
704:
703:
689:Data management
674:Database theory
659:
658:
657:
652:
638:Key–value store
591:Column-oriented
579:Implementations
574:
538:
529:Object-oriented
475:
473:Database models
470:
440:
439:
431:
427:
417:
415:
407:
406:
402:
397:
355:
335:Amazon DynamoDB
273:in memory (RAM)
266:serializability
254:
236:graph databases
234:movement. Some
228:cloud computing
146:key–value store
122:
111:
105:
102:
59:
57:
47:
35:
24:
17:
12:
11:
5:
712:
702:
701:
696:
691:
686:
681:
676:
671:
654:
653:
651:
650:
645:
640:
635:
633:XML data store
630:
629:
628:
623:
618:
608:
603:
598:
593:
588:
582:
580:
576:
575:
573:
572:
567:
562:
557:
552:
546:
544:
540:
539:
537:
536:
531:
526:
521:
520:
519:
509:
504:
499:
494:
489:
483:
481:
477:
476:
469:
468:
461:
454:
446:
438:
437:
425:
399:
398:
396:
393:
392:
391:
386:
381:
376:
371:
366:
361:
354:
351:
304:Perl for Win32
281:rotating disks
253:
250:
154:data structure
124:
123:
106:September 2021
38:
36:
29:
21:Key–value pair
15:
9:
6:
4:
3:
2:
711:
700:
699:Data analysis
697:
695:
692:
690:
687:
685:
682:
680:
677:
675:
672:
670:
667:
666:
664:
649:
646:
644:
641:
639:
636:
634:
631:
627:
626:Decision time
624:
622:
619:
617:
614:
613:
612:
609:
607:
604:
602:
599:
597:
594:
592:
589:
587:
584:
583:
581:
577:
571:
568:
566:
563:
561:
558:
556:
553:
551:
548:
547:
545:
541:
535:
532:
530:
527:
525:
522:
518:
515:
514:
513:
510:
508:
505:
503:
500:
498:
495:
493:
490:
488:
485:
484:
482:
480:Common models
478:
474:
467:
462:
460:
455:
453:
448:
447:
444:
434:
429:
414:
410:
404:
400:
390:
387:
385:
382:
380:
377:
375:
372:
370:
367:
365:
364:Data analysis
362:
360:
357:
356:
350:
348:
344:
340:
336:
332:
328:
324:
319:
317:
313:
309:
308:sdbm, GNU dbm
305:
301:
297:
293:
288:
284:
282:
278:
274:
269:
267:
263:
260:ranging from
259:
249:
247:
246:
241:
237:
233:
229:
224:
222:
218:
214:
210:
201:
197:
195:
191:
187:
186:
181:
180:
175:
174:
169:
165:
164:
159:
155:
151:
147:
143:
135:
130:
120:
117:
109:
98:
95:
91:
88:
84:
81:
77:
74:
70:
67: –
66:
62:
61:Find sources:
55:
51:
45:
44:
39:This article
37:
33:
28:
27:
22:
637:
570:XML database
543:Other models
492:Hierarchical
428:
416:. Retrieved
412:
403:
320:
315:
296:Ken Thompson
289:
285:
270:
255:
243:
225:
206:
189:
183:
177:
171:
161:
157:
145:
141:
139:
112:
103:
93:
86:
79:
72:
60:
48:Please help
43:verification
40:
648:Triplestore
565:Star schema
497:Dimensional
418:16 November
384:Tuple space
314:. Although
312:Berkeley DB
663:Categories
616:Valid time
507:Relational
395:References
238:, such as
213:data types
168:collection
163:hash table
158:dictionary
76:newspapers
694:Databases
606:Deductive
586:Flat file
339:Memcached
611:Temporal
560:Semantic
517:Enhanced
413:ArangoDB
359:Big data
353:See also
347:ScyllaDB
327:ArangoDB
245:pointers
240:ArangoDB
194:database
152:, and a
502:Network
323:RocksDB
179:records
173:objects
90:scholar
345:, and
310:, and
221:memory
185:fields
92:
85:
78:
71:
63:
555:Array
524:Graph
343:Redis
232:NoSQL
176:, or
144:, or
97:JSTOR
83:books
487:Flat
420:2020
69:news
316:dbm
292:dbm
279:or
264:to
196:.
190:key
170:of
160:or
52:by
665::
411:.
349:.
341:,
337:,
333:,
283:.
140:A
465:e
458:t
451:v
435:.
422:.
119:)
113:(
108:)
104:(
94:·
87:·
80:·
73:·
46:.
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.