{"id":150228,"date":"2025-12-01T17:11:56","date_gmt":"2025-12-01T15:11:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/deniel-bernshtejn-obnovil-biblioteku-cdb"},"modified":"2025-12-01T17:11:56","modified_gmt":"2025-12-01T15:11:56","slug":"deniel-bernshtejn-obnovil-biblioteku-cdb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/deniel-bernshtejn-obnovil-biblioteku-cdb","title":{"rendered":"Daniel Bernstein updated the cdb library","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Daniel J. Bernstein, a renowned expert in cryptography and secure software development, who created projects such as qmail, djbdns, NaCl, Ed25519, Curve25519, and ChaCha20-Poly1305, has released the cdb project version 20250121. This release offers a data storage format and a corresponding library for embedding database functions in applications in key\/value form. This release comes more than 25 years after the previous cdb 0.75 update, which was formed in February 2000.       <\/p>\n<p>The new version implements the cdb64 format, translated to structures with 64-bit types. On 64-bit platforms, the new format allows the creation of databases up to one exabyte in size (previously, database size could not exceed 4 GB). The database is very compact, using a 4096-byte header and 48 bytes of metadata for each record (for the 32-bit version, the header is 2048 bytes and 24 bytes per record). When accessing the database, only two disk access operations are performed if the key is present, and one if it is not. Atomic replacement of the database is supported, resilient to crashes and non-blocking for read access.        <\/p>\n<p>Other changes:  <\/p>\n<ul>\n<li class=\"l\"> Support for building using the configure script and installing with the command \u2018make install\u2019.\n<li class=\"l\">  Removed the binding of test scripts to csh.\n<li class=\"l\"> All internal integer values have been replaced with the \u2018num\u2019 type, defined as \u2018long long\u2019. The uint32, fmt, and scan functions have been replaced with functions that operate on the num type.\n<li class=\"l\"> The buffer interface has been split into inbuf and outbuf. The hier interface has been cleaned up.\n<li class=\"l\"> Definitions of unused functions have been removed from the code.\n<li class=\"l\"> The usage of wrappers such as str_len, alloc, uint32, exit, error, and systype has been discontinued.\n<li class=\"l\"> The code has been rewritten to eliminate the use of outdated C constructions, such as old-style function definitions, empty prototypes, and old-style main() definitions.\n<li class=\"l\"> Definitions of const and static have been utilized.\n<li class=\"l\"> During compilation, the flag \u2018-Wall\u2019 was activated, and the code was cleaned up to eliminate warnings.\n<li class=\"l\"> The following options have been included in compilation: -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing, and -fno-strict-overflow.  <\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64352\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u044d\u043d\u0438\u044d\u043b \u0411\u0435\u0440\u043d\u0448\u0442\u0435\u0439\u043d (Daniel J. Bernstein), \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u0433\u043e \u041f\u041e, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0438\u0439 \u0442\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u043a\u0430\u043a qmail, djbdns, NaCl, Ed25519, Curve25519 \u0438 ChaCha20-Poly1305, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 cdb 20250121, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0411\u0414 \u0432 \u0444\u043e\u0440\u043c\u0435 \u043a\u043b\u044e\u0447\/\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0412\u044b\u043f\u0443\u0441\u043a \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0441\u043f\u0443\u0441\u0442\u044f \u0431\u043e\u043b\u0435\u0435 25 \u043b\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-150228","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u044d\u043d\u0438\u044d\u043b \u0411\u0435\u0440\u043d\u0448\u0442\u0435\u0439\u043d (Daniel J.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/deniel-bernshtejn-obnovil-biblioteku-cdb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u044d\u043d\u0438\u044d\u043b \u0411\u0435\u0440\u043d\u0448\u0442\u0435\u0439\u043d \u043e\u0431\u043d\u043e\u0432\u0438\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 cdb | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u044d\u043d\u0438\u044d\u043b \u0411\u0435\u0440\u043d\u0448\u0442\u0435\u0439\u043d (Daniel J.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/deniel-bernshtejn-obnovil-biblioteku-cdb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-12-01T15:11:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-12-01T15:11:56+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Daniel J. Bernstein has updated the cdb library | ProHoster","description":"Daniel J. Bernstein","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/deniel-bernshtejn-obnovil-biblioteku-cdb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u044d\u043d\u0438\u044d\u043b \u0411\u0435\u0440\u043d\u0448\u0442\u0435\u0439\u043d \u043e\u0431\u043d\u043e\u0432\u0438\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 cdb | ProHoster","og:description":"\u0414\u044d\u043d\u0438\u044d\u043b \u0411\u0435\u0440\u043d\u0448\u0442\u0435\u0439\u043d (Daniel J.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/deniel-bernshtejn-obnovil-biblioteku-cdb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-12-01T15:11:56+00:00","article:modified_time":"2025-12-01T15:11:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"150228","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 16:19:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 16:19:20","updated":"2026-01-23 16:19:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/150228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=150228"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/150228\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=150228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=150228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=150228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}