{"id":46550,"date":"2017-07-11T00:00:00","date_gmt":"2017-07-11T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/griddb-complies-acid\/"},"modified":"2025-11-13T12:54:23","modified_gmt":"2025-11-13T20:54:23","slug":"griddb-complies-acid","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/en\/blog\/griddb-complies-acid\/","title":{"rendered":"GridDB complies with ACID"},"content":{"rendered":"<p>What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a database. &#8220;Transaction&#8221; here means a processing unit which summarizes a series of tasks performing a specific operation in the database and which cannot be broken down any further. ACID stands for Atomicity, Consistency, Isolation and Durability, which are briefly explained as follows:<\/p>\n<p><strong>Atomicity:<\/strong> A property that guarantees that all the tasks in a transaction are executed, if it&#8217;s not possible, then none are executed at all <strong>Consistency:<\/strong> A property that guarantees to meet the predetermined consistency at the start and end of a transaction <strong>Isolation:<\/strong> To hide the process of operations during a transaction from other operations <strong>Durability:<\/strong> To keep the operation permanent and the result not lost at the time the user receives the completion notification of the transaction A good example to explain ACID characteristics in actual processing is a remittance between accounts at a bank. In order to securely transmit remittance from one bank account (A) to another (B), the two processes of &#8220;withdrawing from A&#8221; and &#8220;depositing into B&#8221; should satisfy ACID characteristics. If ACID characteristics are not guaranteed, something can go drastically wrong, like say for example, only the amount from A decreases while B shows no change, or the balance of B differs every time it is inquired. The banking system is one of the most fundamental aspects of society and its reliance on ACID characteristics truly showcase these characteristics&#8217; importance. It is apparent that the transaction function is necessary for databases where even a slight deviation of data values can be a serious problem, such as with e-commerce sites and banks. More explanation about the four characteristics using this example of bank accounts can be found in various websites like <a href=\"https:\/\/en.wikipedia.org\/wiki\/ACID\">Wikipedia<\/a>, so you may refer to the link for more details.<\/p>\n<p>Transaction on NoSQL databases Most traditional relational databases have transactional features, and as long as you describe the transaction with appropriate SQL, the return value will not be different depending on the timing. On the other hand, on the distributed NoSQL database, processing performance and scale-out performance are greatly improved by relaxing processing strictness. But as a trade-off, many NoSQL databases don&#8217;t support the ACID-guaranteed transaction or have some restrictions. GridDB is a NoSQL database which pursues high-speed and high-scalability and does not have a transaction function for the entire database like a relational database. However, transactions are supported in &#8220;container&#8221; units. The figure below is a conceptual diagram of GridDB&#8217;s key container type. For more details about the key container type, please refer to<\/p>\n<p><a href=\"https:\/\/griddb.net\/en\/docs\/manuals\/v3.1\/GridDB_TechnicalReference.html#sec-3.3\" target=\"_blank\" rel=\"noopener noreferrer\">this document<\/a>.<\/p>\n<p class=\"ta-c\">\n  <a href=https:\/\/griddb.net\/wp-content\/uploads\/2017\/07\/Key-container.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2017\/07\/Key-container.png\" alt=\"\" width=\"774\" height=\"406\" size-large wp-image-387\" \/><\/a>\n<\/p>\n<p>We believe that transactions of this container basis are necessary and sufficient when using IoT applications. For example, let&#8217;s ponder how to best calculate the power consumption of many smart meters as introduced in<\/p>\n<p><a href=\"https:\/\/griddb.net\/en\/blog\/three-examples-griddb-iot-industry\/\" target=\"_blank\" rel=\"noopener noreferrer\">this blog<\/a>. First, to determine the particle size of the container, create a container for each sensor (each smart meter for this example). This makes it possible to use the <a href=\"https:\/\/griddb.net\/en\/blog\/time-series-data-griddb\/\" target=\"_blank\" rel=\"noopener noreferrer\">&#8220;time-series container type&#8221;<\/a> which allows it to handle time series data. Next, make a container to manage geographical information. You may also need to add a container for management purposes. I mentioned earlier that GridDB supports transactions on a container basis. That means that you can process ACID-guaranteed transactions for smart meter containers, administrative containers, containers managing geographic information, and SQL statements. Then, what about calculations across the database? In GridDB, Atomicity is not guaranteed for transactions that refer to multiple containers. Therefore, when updating values \u2039\u2039to multiple containers, it is necessary to describe error handling on the application side. In this case, however, it will not be a big problem as you do not need to update values but just refer to them when you calculate something across the entire database&#8211; calculating sum of the power consumption of a certain time using the data of all the smart meters, or analyzing the time change of the electric power consumption and predicting the demand. As we wrote in <a href=\"https:\/\/griddb.net\/en\/blog\/cap-theorem-griddb\/\">a previous blog <\/a> , GridDB is a CP type database, so unlike AP type databases that emphasize availability, values \u2039\u2039do not change every time you query. Thus, in this example, the lack of Atomicity should be no problem and the application side does not need any special error handling. GridDB is an optimal database for applications that focus on data aggregation and analysis and uses the results to make a quick, real-time decisions.<\/p>\n<p>GridDB will satisfy relational database users who have issues with performance as it supports transactions on a per-container basis while also focusing on the consistency of the entire database. If you would like to try GridDB now, the Community Edition has its source code released under the AGPL license, and is available for free <a href=\"https:\/\/griddb.net\/en\/download\/\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a database. &#8220;Transaction&#8221; here means a processing unit which summarizes a series of tasks performing a specific operation in the database and which cannot be broken down any further. ACID stands for [&hellip;]<\/p>\n","protected":false},"author":784,"featured_media":22040,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GridDB complies with ACID | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GridDB complies with ACID | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-11T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:54:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2017\/07\/blog_title_13.png\" \/>\n\t<meta property=\"og:image:width\" content=\"870\" \/>\n\t<meta property=\"og:image:height\" content=\"490\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Aki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\"},\"author\":{\"name\":\"Aki\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/b9616592cbe50a5fdd6138de3c81af43\"},\"headline\":\"GridDB complies with ACID\",\"datePublished\":\"2017-07-11T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:54:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\"},\"wordCount\":806,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2017\/07\/blog_title_13.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\",\"url\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\",\"name\":\"GridDB complies with ACID | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2017\/07\/blog_title_13.png\",\"datePublished\":\"2017-07-11T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:54:23+00:00\",\"description\":\"What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2017\/07\/blog_title_13.png\",\"contentUrl\":\"\/wp-content\/uploads\/2017\/07\/blog_title_13.png\",\"width\":870,\"height\":490},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/b9616592cbe50a5fdd6138de3c81af43\",\"name\":\"Aki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d6a06955032b3aa3193bc0d133b1ef7dd73b508d5c8245b4b7555e1e33f47fda?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d6a06955032b3aa3193bc0d133b1ef7dd73b508d5c8245b4b7555e1e33f47fda?s=96&d=mm&r=g\",\"caption\":\"Aki\"},\"url\":\"https:\/\/www.griddb.net\/en\/author\/admin-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GridDB complies with ACID | GridDB: Open Source Time Series Database for IoT","description":"What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/","og_locale":"en_US","og_type":"article","og_title":"GridDB complies with ACID | GridDB: Open Source Time Series Database for IoT","og_description":"What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a","og_url":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2017-07-11T07:00:00+00:00","article_modified_time":"2025-11-13T20:54:23+00:00","og_image":[{"width":870,"height":490,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2017\/07\/blog_title_13.png","type":"image\/png"}],"author":"Aki","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"Aki","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/"},"author":{"name":"Aki","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/b9616592cbe50a5fdd6138de3c81af43"},"headline":"GridDB complies with ACID","datePublished":"2017-07-11T07:00:00+00:00","dateModified":"2025-11-13T20:54:23+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/"},"wordCount":806,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2017\/07\/blog_title_13.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/","url":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/","name":"GridDB complies with ACID | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2017\/07\/blog_title_13.png","datePublished":"2017-07-11T07:00:00+00:00","dateModified":"2025-11-13T20:54:23+00:00","description":"What are ACID characteristics? ACID is an acronym that contains the four attributes required to guarantee the reliability of a transaction processing in a","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/blog\/griddb-complies-acid\/#primaryimage","url":"\/wp-content\/uploads\/2017\/07\/blog_title_13.png","contentUrl":"\/wp-content\/uploads\/2017\/07\/blog_title_13.png","width":870,"height":490},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/b9616592cbe50a5fdd6138de3c81af43","name":"Aki","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d6a06955032b3aa3193bc0d133b1ef7dd73b508d5c8245b4b7555e1e33f47fda?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d6a06955032b3aa3193bc0d133b1ef7dd73b508d5c8245b4b7555e1e33f47fda?s=96&d=mm&r=g","caption":"Aki"},"url":"https:\/\/www.griddb.net\/en\/author\/admin-2\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/users\/784"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/comments?post=46550"}],"version-history":[{"count":1,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46550\/revisions"}],"predecessor-version":[{"id":51243,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46550\/revisions\/51243"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media\/22040"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media?parent=46550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/categories?post=46550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/tags?post=46550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}