SlideShare ist ein Scribd-Unternehmen logo
1 von 21
LSM-Trees
Chris Lohfink
Email: clohfink@blackbirdit.com
Twitter: cnlohfink
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
● Senior Engineer at Pythian (recently acquired Blackbird)
o Lead of Cassandra practice
● Experience
o Worked with Cassandra since 0.8 (2011)
o Java/Python developer
About Me
Chris Lohfink
1
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
‱ Fault tolerance
‱ Multiple DCs
‱ Large data sets
‱ Data model gotchas
‱ Unstable releases
‱ Bootstrapping
‱ Repairs
‱ Unit tests
- My Opinions -
2
Cassandra
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
● Can be good, bad, or ugly
● Same as with everything else
Where is Performance?
3
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
Lies, Dirty Lies, & Benchmarks
4
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra 5
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra 6
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
● An LSM-tree is composed of two or more tree-like components, each optimized
for their type of storage
o A small in-memory tree
o One or more on disk trees
● Used in Cassandra, HBase, LevelDB, Google Big Table, SQLite4 & more
Log Structured Merge Tree
LSM-Tree
7
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
Log Structured Merge Tree
One tree in memory, one or more on disk
Memory Disk
ReadsWrites
8
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
Log Structured Merge Tree
Match Cassandra nomenclature
Memtable SSTable
ReadsWrites
9
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
PAGE© Pythian Cassandra
‱ Very Fast Writes
– Cost of IO amortized across large batches
– Append only
‱ Comparable Reads
– Comparable best-case
– Potential for very slow
Log Structured Merge Tree
10
Characteristics
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Write Path
Represent numbers of shovels in stock
Memtable SSTables
Temp -20
Shovels 0
State MN
11
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Write Path
Decide we need to include humidity
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
12
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Write Path
Its Minnesota so the Temperature changed
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
Temp 80
13
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Write Path
Shovel demand drops so its time to put some in stock again
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
Temp 80
Shovels 25
14
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Write Path
Reached memtable limit, flush to disk
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
Temp 80
Shovels 25
Humidity 10
Temp 80
Shovels 25
15
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Write Path
We still in Minnesota and its been a few days so adjust Temp
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
Temp 80
Shovels 25
Temp 10
16
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Read Path
Check the current temp, take most recent from all SSTables
and the Memtable
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
Temp 80
Shovels 25
Temp 10
17
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Compaction
Create new SSTable thats the merged result
Memtable SSTables
Temp -20
Shovels 0
State MN
Humidity 10
Temp 80
Shovels 25
Temp 10 Humidity 10
Shovels 25
Temp 80
State MN
18
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Compaction
Delete old SSTables
Memtable SSTables
Temp 10 Humidity 10
Shovels 25
Temp 80
State MN
19
www.pythian.com
twitter: cnlohfink | e-mail: clohfink@blackbirdit.com
Pythian PAGE© Pythian© Pythian Cassandra
Questions?
20

Weitere Àhnliche Inhalte

Was ist angesagt?

Rocks db state store in structured streaming
Rocks db state store in structured streamingRocks db state store in structured streaming
Rocks db state store in structured streamingBalaji Mohanam
 
Apache Kudu: Technical Deep Dive‹‹
Apache Kudu: Technical Deep Dive‹‹Apache Kudu: Technical Deep Dive‹‹
Apache Kudu: Technical Deep Dive‹‹Cloudera, Inc.
 
Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKai WĂ€hner
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centersMariaDB plc
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiDatabricks
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBasealexbaranau
 
RocksDB detail
RocksDB detailRocksDB detail
RocksDB detailMIJIN AN
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremGrisha Weintraub
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremRahul Jain
 
Growing the Delta Ecosystem to Rust and Python with Delta-RS
Growing the Delta Ecosystem to Rust and Python with Delta-RSGrowing the Delta Ecosystem to Rust and Python with Delta-RS
Growing the Delta Ecosystem to Rust and Python with Delta-RSDatabricks
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compactionMIJIN AN
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcachedJurriaan Persyn
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookThe Hive
 
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsFine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsDatabricks
 
HBase in Practice
HBase in PracticeHBase in Practice
HBase in Practicelarsgeorge
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & FeaturesDataStax Academy
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL DatabaseHeman Hosainpana
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
 
Making Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta LakeMaking Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta LakeDatabricks
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanCodership Oy - Creators of Galera Cluster
 

Was ist angesagt? (20)

Rocks db state store in structured streaming
Rocks db state store in structured streamingRocks db state store in structured streaming
Rocks db state store in structured streaming
 
Apache Kudu: Technical Deep Dive‹‹
Apache Kudu: Technical Deep Dive‹‹Apache Kudu: Technical Deep Dive‹‹
Apache Kudu: Technical Deep Dive‹‹
 
Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology Comparison
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and HudiA Thorough Comparison of Delta Lake, Iceberg and Hudi
A Thorough Comparison of Delta Lake, Iceberg and Hudi
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
RocksDB detail
RocksDB detailRocksDB detail
RocksDB detail
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theorem
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP Theorem
 
Growing the Delta Ecosystem to Rust and Python with Delta-RS
Growing the Delta Ecosystem to Rust and Python with Delta-RSGrowing the Delta Ecosystem to Rust and Python with Delta-RS
Growing the Delta Ecosystem to Rust and Python with Delta-RS
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcached
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
 
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsFine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark Jobs
 
HBase in Practice
HBase in PracticeHBase in Practice
HBase in Practice
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
Key-Value NoSQL Database
Key-Value NoSQL DatabaseKey-Value NoSQL Database
Key-Value NoSQL Database
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 
Making Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta LakeMaking Apache Spark Better with Delta Lake
Making Apache Spark Better with Delta Lake
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 

Andere mochten auch

LSMた棁
LSMた棁LSMた棁
LSMた棁guest6cf6c1
 
Some key value stores using log-structure
Some key value stores using log-structureSome key value stores using log-structure
Some key value stores using log-structureZhichao Liang
 
AnĂĄlisis fonolĂłgico
AnĂĄlisis fonolĂłgicoAnĂĄlisis fonolĂłgico
AnĂĄlisis fonolĂłgicoOscar E
 
The Power of the Log
The Power of the LogThe Power of the Log
The Power of the LogBen Stopford
 
Lsm trees
Lsm treesLsm trees
Lsm treesRed Over
 
æ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆ
æ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆæ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆ
æ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆjames tong
 
The right read optimization is actually write optimization
The right read optimization is actually write optimizationThe right read optimization is actually write optimization
The right read optimization is actually write optimizationjames tong
 
Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance aaronmorton
 
Using Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series WorkloadsUsing Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series WorkloadsJeff Jirsa
 
X internet framework
X internet frameworkX internet framework
X internet frameworkNeha Malik
 
Augmented Reality Smartglasses 2016 trends and challenges
Augmented Reality Smartglasses 2016 trends and challengesAugmented Reality Smartglasses 2016 trends and challenges
Augmented Reality Smartglasses 2016 trends and challengesAlexandre BOUCHET
 
[243]kaleido 노현ᄀᅄᆯ
[243]kaleido 노현ᄀᅄᆯ[243]kaleido 노현ᄀᅄᆯ
[243]kaleido 노현ᄀᅄᆯNAVER D2
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshopindeedeng
 
Lenguaje Silencioso Del Mexicano Rc
Lenguaje Silencioso Del Mexicano RcLenguaje Silencioso Del Mexicano Rc
Lenguaje Silencioso Del Mexicano RcLucy Padilla
 

Andere mochten auch (20)

LSMた棁
LSMた棁LSMた棁
LSMた棁
 
LSM
LSMLSM
LSM
 
Lsm february 2010
Lsm   february 2010Lsm   february 2010
Lsm february 2010
 
Some key value stores using log-structure
Some key value stores using log-structureSome key value stores using log-structure
Some key value stores using log-structure
 
AnĂĄlisis fonolĂłgico
AnĂĄlisis fonolĂłgicoAnĂĄlisis fonolĂłgico
AnĂĄlisis fonolĂłgico
 
The Power of the Log
The Power of the LogThe Power of the Log
The Power of the Log
 
Lsm trees
Lsm treesLsm trees
Lsm trees
 
Ucl ppt
Ucl pptUcl ppt
Ucl ppt
 
æ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆ
æ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆæ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆ
æ•°æźćș“çł»ç»ŸèźŸèźĄæŒ«è°ˆ
 
The right read optimization is actually write optimization
The right read optimization is actually write optimizationThe right read optimization is actually write optimization
The right read optimization is actually write optimization
 
Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance
 
Using Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series WorkloadsUsing Time Window Compaction Strategy For Time Series Workloads
Using Time Window Compaction Strategy For Time Series Workloads
 
X internet framework
X internet frameworkX internet framework
X internet framework
 
Augmented Reality Smartglasses 2016 trends and challenges
Augmented Reality Smartglasses 2016 trends and challengesAugmented Reality Smartglasses 2016 trends and challenges
Augmented Reality Smartglasses 2016 trends and challenges
 
[243]kaleido 노현ᄀᅄᆯ
[243]kaleido 노현ᄀᅄᆯ[243]kaleido 노현ᄀᅄᆯ
[243]kaleido 노현ᄀᅄᆯ
 
[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop[@IndeedEng] Imhotep Workshop
[@IndeedEng] Imhotep Workshop
 
ćˆ†æ•Łă‚·ă‚čăƒ†ăƒ ć‡Šç†ăƒąăƒ‡ăƒ«ăźèȘČéĄŒăŠă‚ˆăłć±•æœ›#yjdsw3
ćˆ†æ•Łă‚·ă‚čăƒ†ăƒ ć‡Šç†ăƒąăƒ‡ăƒ«ăźèȘČéĄŒăŠă‚ˆăłć±•æœ›#yjdsw3ćˆ†æ•Łă‚·ă‚čăƒ†ăƒ ć‡Šç†ăƒąăƒ‡ăƒ«ăźèȘČéĄŒăŠă‚ˆăłć±•æœ›#yjdsw3
ćˆ†æ•Łă‚·ă‚čăƒ†ăƒ ć‡Šç†ăƒąăƒ‡ăƒ«ăźèȘČéĄŒăŠă‚ˆăłć±•æœ›#yjdsw3
 
Presentacion
PresentacionPresentacion
Presentacion
 
ELECTRONIC TATTOO
ELECTRONIC TATTOOELECTRONIC TATTOO
ELECTRONIC TATTOO
 
Lenguaje Silencioso Del Mexicano Rc
Lenguaje Silencioso Del Mexicano RcLenguaje Silencioso Del Mexicano Rc
Lenguaje Silencioso Del Mexicano Rc
 

KĂŒrzlich hochgeladen

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vĂĄzquez
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

KĂŒrzlich hochgeladen (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

LSM Trees

  • 2. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra ● Senior Engineer at Pythian (recently acquired Blackbird) o Lead of Cassandra practice ● Experience o Worked with Cassandra since 0.8 (2011) o Java/Python developer About Me Chris Lohfink 1
  • 3. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra ‱ Fault tolerance ‱ Multiple DCs ‱ Large data sets ‱ Data model gotchas ‱ Unstable releases ‱ Bootstrapping ‱ Repairs ‱ Unit tests - My Opinions - 2 Cassandra
  • 4. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra ● Can be good, bad, or ugly ● Same as with everything else Where is Performance? 3
  • 5. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra Lies, Dirty Lies, & Benchmarks 4
  • 6. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra 5
  • 7. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra 6
  • 8. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra ● An LSM-tree is composed of two or more tree-like components, each optimized for their type of storage o A small in-memory tree o One or more on disk trees ● Used in Cassandra, HBase, LevelDB, Google Big Table, SQLite4 & more Log Structured Merge Tree LSM-Tree 7
  • 9. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra Log Structured Merge Tree One tree in memory, one or more on disk Memory Disk ReadsWrites 8
  • 10. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra Log Structured Merge Tree Match Cassandra nomenclature Memtable SSTable ReadsWrites 9
  • 11. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com PAGE© Pythian Cassandra ‱ Very Fast Writes – Cost of IO amortized across large batches – Append only ‱ Comparable Reads – Comparable best-case – Potential for very slow Log Structured Merge Tree 10 Characteristics
  • 12. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Write Path Represent numbers of shovels in stock Memtable SSTables Temp -20 Shovels 0 State MN 11
  • 13. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Write Path Decide we need to include humidity Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 12
  • 14. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Write Path Its Minnesota so the Temperature changed Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 Temp 80 13
  • 15. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Write Path Shovel demand drops so its time to put some in stock again Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 Temp 80 Shovels 25 14
  • 16. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Write Path Reached memtable limit, flush to disk Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 Temp 80 Shovels 25 Humidity 10 Temp 80 Shovels 25 15
  • 17. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Write Path We still in Minnesota and its been a few days so adjust Temp Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 Temp 80 Shovels 25 Temp 10 16
  • 18. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Read Path Check the current temp, take most recent from all SSTables and the Memtable Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 Temp 80 Shovels 25 Temp 10 17
  • 19. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Compaction Create new SSTable thats the merged result Memtable SSTables Temp -20 Shovels 0 State MN Humidity 10 Temp 80 Shovels 25 Temp 10 Humidity 10 Shovels 25 Temp 80 State MN 18
  • 20. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Compaction Delete old SSTables Memtable SSTables Temp 10 Humidity 10 Shovels 25 Temp 80 State MN 19
  • 21. www.pythian.com twitter: cnlohfink | e-mail: clohfink@blackbirdit.com Pythian PAGE© Pythian© Pythian Cassandra Questions? 20

Hinweis der Redaktion

  1. Attention! Before you open this template be sure what you have the following fonts installed: Novecento Sans wide font family (6 free styles) http://typography.synthview.com Abattis Cantarell http://www.fontsquirrel.com/fonts/cantarell Icon Sets Fonts: raphaelicons-webfont.ttf from this page: http://icons.marekventur.de iconic_stroke.ttf from this page: http://somerandomdude.com/work/open-iconic modernpics.otf from this page: http://www.fontsquirrel.com/fonts/modern-pictograms general_foundicons.ttf, social_foundicons.ttf from this page: http://www.zurb.com/playground/foundation-icons accessibility_foundicons_new.ttf fixed for PowerPoint Mac from here: http://docs.google.com/open?id=0Byf3seS60YFLR3VJN3dMbGp0UDA fontawesome-webfont.ttf from this page: http://fortawesome.github.io/Font-Awesome Entypo.otf from this page: http://www.fontsquirrel.com/fonts/entypo sosa-regular-webfont.ttf from this page: http://tenbytwenty.com/?xxxx_posts=sosa All fonts are permitted free use in commercial projects. If you have difficulties to install those fonts or have no time to find all of them, please follow the FAQs: http://graphicriver.net/item/six-template/3626243/support