{"id":737,"date":"2015-11-23T11:31:07","date_gmt":"2015-11-23T03:31:07","guid":{"rendered":"http:\/\/magicalbits.net\/?p=737"},"modified":"2015-11-23T11:31:07","modified_gmt":"2015-11-23T03:31:07","slug":"turning-the-database-inside-out-with-apache-samza","status":"publish","type":"post","link":"https:\/\/magicalbits.net\/?p=737","title":{"rendered":"Turning the database inside-out with Apache Samza"},"content":{"rendered":"<blockquote><p>Databases are global, shared, mutable state. That\u2019s the way it has been since the 1960s, and no amount of NoSQL has changed that. However, most self-respecting developers have got rid of mutable global variables in their code long ago. So why do we tolerate databases as they are?A more promising model, used in some systems, is to think of a database as an always-growing collection of immutable facts. You can query it at some point in time \u2014 but that\u2019s still old, imperative style thinking. A more fruitful approach is to take the streams of facts as they come in, and functionally process them in real-time.<\/p><\/blockquote>\n<blockquote><p><a href=\"http:\/\/www.confluent.io\/blog\/turning-the-database-inside-out-with-apache-samza\/\"><img decoding=\"async\" class=\"alignnone size-full\" src=\"http:\/\/magicalbits.net\/wp-content\/uploads\/2015\/11\/slide-41.png\" alt=\"\" \/><\/a><\/p><\/blockquote>\n<p>React concepts.<\/p>\n<p>Source: <em><a href=\"http:\/\/www.confluent.io\/blog\/turning-the-database-inside-out-with-apache-samza\/\">Turning the database inside-out with Apache Samza<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Databases are global, shared, mutable state. That\u2019s the way it has been since the 1960s, and no amount of NoSQL has changed that. However, most self-respecting developers have got rid of mutable global variables in their code long ago. So why do we tolerate databases as they are?A more promising model, used in some systems, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-737","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=737"}],"version-history":[{"count":1,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/737\/revisions"}],"predecessor-version":[{"id":739,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/737\/revisions\/739"}],"wp:attachment":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}