{"id":2219,"date":"2016-03-10T16:53:28","date_gmt":"2016-03-11T00:53:28","guid":{"rendered":"http:\/\/softwaredaily.wpengine.com\/?p=2219"},"modified":"2021-11-04T02:26:10","modified_gmt":"2021-11-04T09:26:10","slug":"cassandra-tim-berglund","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/","title":{"rendered":"Cassandra with Tim Berglund"},"content":{"rendered":"<p><img data-attachment-id=\"2222\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/tim-berglund\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?fit=175%2C175&amp;ssl=1\" data-orig-size=\"175,175\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"tim-berglund\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?fit=175%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?fit=175%2C175&amp;ssl=1\" decoding=\"async\" loading=\"lazy\" class=\"alignright size-full wp-image-2222\" style=\"border-radius: 50%; border: 1px solid #000000;\" src=\"https:\/\/i0.wp.com\/softwaredaily.wpengine.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?resize=175%2C175\" alt=\"tim-berglund\" width=\"175\" height=\"175\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?w=175&amp;ssl=1 175w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/tim-berglund.jpg?resize=80%2C80&amp;ssl=1 80w\" sizes=\"(max-width: 175px) 100vw, 175px\" data-recalc-dims=\"1\" \/><\/p>\n<h3>\u201cThere isn\u2019t any central node in Cassandra. Every node is a peer, there is no master &#8211; there is no single point of failure.\u201d<\/h3>\n<p>Apache Cassandra can serve as both the real-time data store for online transactional applications, as well as the read-intensive database for data warehousing operations. In order to combine these two use cases into a single database, Apache Cassandra required lots of innovation.<\/p>\n<p>In today\u2019s episode of Software Engineering Daily, we discuss the internals of Cassandra. Tim Berglund takes us through how Cassandra performs reads and writes, how Cassandra offers tunable consistency, and what inspirations Cassandra took from the Amazon Dynamo paper as well as the Google BigTable paper. Tim will also be presenting at <a href=\"http:\/\/www.oreilly.com\/pub\/cpc\/9373\">Strata + Hadoop World<\/a> in San Jose. We&#8217;re partnering with O&#8217;Reilly to support this conference &#8211; if you want to go to Strata, you can save 20% off a ticket with our code PCSED.<\/p>\n<h3>Questions<\/h3>\n<ul>\n<li>What is Cassandra?<\/li>\n<li>What did Cassandra take away from Dynamo?<\/li>\n<li>Have there been any methodologies or tactics around distributed hashing that have evolved since the time of the Dynamo paper?<\/li>\n<li>What is the explain how Cassandra is a hybrid between column-oriented and key-value data stores?<\/li>\n<li>Why and how can we explore the different axes of tunable consistency?<\/li>\n<li>How was Cassandra constructed, taking into account hardware failure?<\/li>\n<li>Can you walk me through a simple Cassandra write?<\/li>\n<li>What are you building as part of Datastax training?<\/li>\n<\/ul>\n<h3>Links<\/h3>\n<ul>\n<li><a href=\"http:\/\/www.datastax.com\/\">DataStax<\/a><\/li>\n<li><a href=\"http:\/\/cassandra.apache.org\/\">Cassandra<\/a><\/li>\n<li><a href=\"http:\/\/www.allthingsdistributed.com\/files\/amazon-dynamo-sosp2007.pdf\">Dynamo: Amazon\u2019s Highly Available Key-value Store<\/a><\/li>\n<li><a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/bigtable-osdi06.pdf\">Bigtable: A Distributed Storage System for Structured Data<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Consistent_hashing\">Consistent hashing<\/a><\/li>\n<li><a href=\"https:\/\/teddyma.gitbooks.io\/learncassandra\/content\/replication\/turnable_consistency.html\">Tunable consistency<\/a><\/li>\n<li><a href=\"https:\/\/www.safaribooksonline.com\/library\/view\/oscon-2014-complete\/9781491910795\/part118.html\">The Data Structures (You Think) You Need to Know<\/a><\/li>\n<li><a href=\"https:\/\/academy.datastax.com\/\">Datastax Academy<\/a><\/li>\n<li><a href=\"http:\/\/gradle.org\/\">Gradle<\/a><\/li>\n<li><a href=\"http:\/\/conferences.oreilly.com\/strata\/hadoop-big-data-ca\">Strata + Hadoop World<\/a><\/li>\n<li><a href=\"http:\/\/timberglund.com\/\">Tim\u2019s personal page<br \/>\n<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u201cThere isn\u2019t any central node in Cassandra. Every node is a peer, there is no master &#8211; there is no single point of failure.\u201d Apache Cassandra can serve as both the real-time data store for online transactional applications, as well as the read-intensive database for data warehousing operations. In order to combine these two use<\/p>\n","protected":false},"author":2,"featured_media":2221,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,1081,14],"tags":[71,136,88,81,240],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cassandra with Tim Berglund - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cassandra with Tim Berglund - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"\u201cThere isn\u2019t any central node in Cassandra. Every node is a peer, there is no master &#8211; there is no single point of failure.\u201d Apache Cassandra can serve as both the real-time data store for online transactional applications, as well as the read-intensive database for data warehousing operations. In order to combine these two use\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-11T00:53:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-04T09:26:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/cassandra.jpg?fit=720%2C405\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"405\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Pranay\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pranay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\"},\"author\":{\"name\":\"Pranay\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c\"},\"headline\":\"Cassandra with Tim Berglund\",\"datePublished\":\"2016-03-11T00:53:28+00:00\",\"dateModified\":\"2021-11-04T09:26:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\"},\"wordCount\":284,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"keywords\":[\"Big Data\",\"Cassandra\",\"Databases\",\"Distributed Systems\",\"Education\"],\"articleSection\":[\"All Content\",\"Data\",\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\",\"name\":\"Cassandra with Tim Berglund - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"datePublished\":\"2016-03-11T00:53:28+00:00\",\"dateModified\":\"2021-11-04T09:26:10+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cassandra with Tim Berglund\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1\",\"width\":296,\"height\":139,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c\",\"name\":\"Pranay\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg\",\"caption\":\"Pranay\"},\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/pranay\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cassandra with Tim Berglund - Software Engineering Daily","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":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/","og_locale":"en_US","og_type":"article","og_title":"Cassandra with Tim Berglund - Software Engineering Daily","og_description":"\u201cThere isn\u2019t any central node in Cassandra. Every node is a peer, there is no master &#8211; there is no single point of failure.\u201d Apache Cassandra can serve as both the real-time data store for online transactional applications, as well as the read-intensive database for data warehousing operations. In order to combine these two use","og_url":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/","og_site_name":"Software Engineering Daily","article_published_time":"2016-03-11T00:53:28+00:00","article_modified_time":"2021-11-04T09:26:10+00:00","og_image":[{"width":720,"height":405,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/cassandra.jpg?fit=720%2C405","type":"image\/jpeg"}],"author":"Pranay","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"Pranay","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/"},"author":{"name":"Pranay","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c"},"headline":"Cassandra with Tim Berglund","datePublished":"2016-03-11T00:53:28+00:00","dateModified":"2021-11-04T09:26:10+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/"},"wordCount":284,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"keywords":["Big Data","Cassandra","Databases","Distributed Systems","Education"],"articleSection":["All Content","Data","Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/","url":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/","name":"Cassandra with Tim Berglund - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"datePublished":"2016-03-11T00:53:28+00:00","dateModified":"2021-11-04T09:26:10+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2016\/03\/10\/cassandra-tim-berglund\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Cassandra with Tim Berglund"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2022\/01\/cropped-logo-new.png?fit=296%2C139&ssl=1","width":296,"height":139,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/609dd9667c84e7f6b8406a7a1bd2fb5c","name":"Pranay","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e85f4744ae484bd83dca0d08c8ce0625?s=96&d=retro&r=pg","caption":"Pranay"},"url":"https:\/\/softwareengineeringdaily.com\/author\/pranay\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/03\/cassandra.jpg?fit=720%2C405&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-zN","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/2219"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=2219"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/2219\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/2221"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=2219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=2219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=2219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}