SlideShare une entreprise Scribd logo
1  sur  57
1
Building a nosql from scratch
Let them know what they are missing!
#ddtx16
@edwardcapriolo
@HuffPostCode
2
If you are looking for

A battle tested NoSQL data store

That scales up to 1 million transactions a second

Allows you to query data from your IoT sensors in real time

You are at the wrong talk!

This is a presentation about Nibiru

An open source database I work on in my spare time

But you should stay anyway...
3
Motivations

Why do that?

How this got started?

What did it morph into?

Many NoSQL databases came out of an industry specific use
case and as a result they had baked in assumptions. If we
have clean interfaces and good abstractions we can make a
better general tool with lessed forced choices.

Pottentially support a majority of the use cases in one
tool.
4
A friend asked

Won't this make Nibiru have all the bugs of all the systems?
5
My response

Jerk!
6
You might want to follow along with local copy

There are a lot of slides that have a fair amount of code

https://github.com/edwardcapriolo/nibiru/blob/master/hexagons.ppt

http://bit.ly/1NcAoEO
7
Basics
8
Terminology

Keyspace: A logical grouping of store(s)

Store: A structure that holds data
− Avoided: Column Family, Table, Collection, etc

Node: a system

Cluster: a group of nodes
9
Assumptions & Design notes

A store is of a specific type Key Value, Column Family, etc

The API of the store is dictated by the type

Ample gotchas from one man, after work, project

Wire components together, not into a large context

Using string (for now) instead of byte[] for debug
10
Server ID

We need to uniquely identify each node

Hostname/ip is not good solution
− Systems have multiple
− Can change

Should be able to run N copies on single node
11
Implementation

On first init() create guid and persist
12
Cluster Membership
13
Cluster Membership

What is a list of nodes in the cluster?

What is the up/down state of each node?
14
Static Membership
15
Different cluster membership models

Consensus/Gossip
− Cassandra
− Elastic Search

Master Node/Someone
elses problem
− HBase (zookeeper)
16
Gossip
http://www.joshclemm.com/projects/
17
Teknek Gossip

Licenced Apache V2

Forked from google code project

Available from maven g: io.teknek a: gossip

Great tool for building a peer-to-peer service
18
Cluster Membership using Gossip
19
Get Live Members
20
Gutcheck

Did clean abstractions hurt the design here?

Does it seem possible we could add zookeeper/etcd as a
backend implemention?

Any takers? :)
21
Request Routing
22
Some options

So you have a bunch of nodes in a cluster,
but where the heck does the data go?

Client dictated - like a sharded memcache|mysql|whatever

HBase - Sharding with a leader election

Dynamo Style - ring topology token ownership
23
Router & Partitioners
24
Pick your poison: no hot spots or key locality :)
25
Quick example LocalPartitioner
26
Scenario: using a Dynamo-ish router

Construct a three node topology

Give each an id

Give them each a token

Test that requests route properly
27
Cluster and Token information
28
Unit Test
29
Token Router
30
Do the Damn Thing!
31
Do the Damn Thing! With Replication
32
Storage Layer
33
Basic Data Storage SSTables

SS = Sorted String { 'a', $PAYLOAD$ },
{ 'b', $PAYLOAD$ }
34
LevelDB SSTable payload

Key Value implementation

SortedMap<byte, byte>
{ 'a', '1' },
{ 'b', '2' }
35
Cassandra SSTable Implementation

Key Value in which value is a
map with last-update-wins
versioning

SortedMap<byte, SortedMap
<byte, Val<byte,long>>
{ 'a', { 'col':{ 'val', 1 } } },
{ 'b', {
'col1':{ 'val', 1 },
'col2':{ 'val2', 2 }
}
}
36
HBase SSTable Implementation

Key-Value in which value is a
map with multi-versioning

SortedMap<byte, SortedMap
<byte, Val<byte,long>>
{
{ 'a', { 'col':{ 'val', 1 } } },
{ 'b', {
'col1':{ 'val', 1 },
'col1':{ 'valb', 2 },
'col2':{ 'val2', 2 }
}
}
}
37
Column Family Store high level
38
Operations to support
39
One possible memtable implementation
 Holy Generics batman!
 Isn't it just a map of map?
40
Unforunately no!

Imagine two requests arrive in this order:
− set people [edward] [age]='34' (Time 2)
− set people [edward] [age]='35' (Time 1)

What should be the final value?

We need to deal with events landing out of order

Also exists delete write known as Tombstone
41
And then, there is concurrency

Multiple threads manipulating at same time

Proposed solution: (Which I think is correct)
− Do not compare and swap value, instead append to queue and take
a second pass to optimize
42
43
Optimization 1: BloomFilters

Use guava. Smart!

Audiance: make disapointed aww sound because Ed did not
write it himself
44
Optimization 2: IndexWriter

Not ideal to seek a disk like you would seek memory
45
Consistency
46
Multinode Consistency

Replication: Number of places data lives

Active/Active Master/Slave (with takover)

Resolving conflicted data
47
Quorum Consistency
Active/Active Implemantation
48
Message dispatched
49
Asyncronos Responses T1
50
Asyncronos Responses T2
51
Logic to merge results
52
Breakdown of components

Start & dedline : Max time to wait for requests

Message : The read/write request sent to each destination

Merger : Turn multiple responses into single result
53
54
Testing
55
Challenges of timing in testing

Target goal is ~ 80% unit 20% integetration (e2e) testing

Performance varies in local vs travis-ci

Hard to test something that typically happens in milliseconds
but at worst case can take seconds

Lazy half solution: Thread.sleep() statements for worst case
− Definately a slippery slope
56
Introducing TUnit

https://github.com/edwardcapriolo/tunit
57
The End

Contenu connexe

Tendances

Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 

Tendances (20)

ScyllaDB: NoSQL at Ludicrous Speed
ScyllaDB: NoSQL at Ludicrous SpeedScyllaDB: NoSQL at Ludicrous Speed
ScyllaDB: NoSQL at Ludicrous Speed
 
Introduction to NoSQL & Apache Cassandra
Introduction to NoSQL & Apache CassandraIntroduction to NoSQL & Apache Cassandra
Introduction to NoSQL & Apache Cassandra
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
 
Signal Digital: The Skinny on Wide Rows
Signal Digital: The Skinny on Wide RowsSignal Digital: The Skinny on Wide Rows
Signal Digital: The Skinny on Wide Rows
 
NewSQL - The Future of Databases?
NewSQL - The Future of Databases?NewSQL - The Future of Databases?
NewSQL - The Future of Databases?
 
Cassandra: Open Source Bigtable + Dynamo
Cassandra: Open Source Bigtable + DynamoCassandra: Open Source Bigtable + Dynamo
Cassandra: Open Source Bigtable + Dynamo
 
Druid realtime indexing
Druid realtime indexingDruid realtime indexing
Druid realtime indexing
 
Cassandra Tuning - above and beyond
Cassandra Tuning - above and beyondCassandra Tuning - above and beyond
Cassandra Tuning - above and beyond
 
BI, Reporting and Analytics on Apache Cassandra
BI, Reporting and Analytics on Apache CassandraBI, Reporting and Analytics on Apache Cassandra
BI, Reporting and Analytics on Apache Cassandra
 
Webinar: Diagnosing Apache Cassandra Problems in Production
Webinar: Diagnosing Apache Cassandra Problems in ProductionWebinar: Diagnosing Apache Cassandra Problems in Production
Webinar: Diagnosing Apache Cassandra Problems in Production
 
Re-Engineering PostgreSQL as a Time-Series Database
Re-Engineering PostgreSQL as a Time-Series DatabaseRe-Engineering PostgreSQL as a Time-Series Database
Re-Engineering PostgreSQL as a Time-Series Database
 
Cassandra concepts, patterns and anti-patterns
Cassandra concepts, patterns and anti-patternsCassandra concepts, patterns and anti-patterns
Cassandra concepts, patterns and anti-patterns
 
Spark and cassandra (Hulu Talk)
Spark and cassandra (Hulu Talk)Spark and cassandra (Hulu Talk)
Spark and cassandra (Hulu Talk)
 
Webinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraWebinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache Cassandra
 
Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to Cassandra
 
Large volume data analysis on the Typesafe Reactive Platform
Large volume data analysis on the Typesafe Reactive PlatformLarge volume data analysis on the Typesafe Reactive Platform
Large volume data analysis on the Typesafe Reactive Platform
 
CassieQ: The Distributed Message Queue Built on Cassandra (Anton Kropp, Cural...
CassieQ: The Distributed Message Queue Built on Cassandra (Anton Kropp, Cural...CassieQ: The Distributed Message Queue Built on Cassandra (Anton Kropp, Cural...
CassieQ: The Distributed Message Queue Built on Cassandra (Anton Kropp, Cural...
 
Cassandra Day Atlanta 2015: Introduction to Apache Cassandra & DataStax Enter...
Cassandra Day Atlanta 2015: Introduction to Apache Cassandra & DataStax Enter...Cassandra Day Atlanta 2015: Introduction to Apache Cassandra & DataStax Enter...
Cassandra Day Atlanta 2015: Introduction to Apache Cassandra & DataStax Enter...
 
OpenTSDB 2.0
OpenTSDB 2.0OpenTSDB 2.0
OpenTSDB 2.0
 

En vedette

신용의 사회 피칭
신용의 사회 피칭신용의 사회 피칭
신용의 사회 피칭
지은 박
 
Android Self Service Solution
Android Self Service SolutionAndroid Self Service Solution
Android Self Service Solution
LITEDA
 
Managing Community Open Source Brands
Managing Community Open Source BrandsManaging Community Open Source Brands
Managing Community Open Source Brands
Shane Curcuru
 
Classification of Matter Overview- Spring 2012
Classification of Matter Overview- Spring 2012Classification of Matter Overview- Spring 2012
Classification of Matter Overview- Spring 2012
jmori1
 
Growing your school in troubled times, sbacs webinar
Growing your school in troubled times, sbacs webinarGrowing your school in troubled times, sbacs webinar
Growing your school in troubled times, sbacs webinar
Rick Newberry
 
Lifestyle unit 8
Lifestyle unit 8Lifestyle unit 8
Lifestyle unit 8
Les Davy
 
Aef4 3 a passive
Aef4 3 a passiveAef4 3 a passive
Aef4 3 a passive
Les Davy
 
облачные сервисы учителю математики
облачные сервисы учителю математикиоблачные сервисы учителю математики
облачные сервисы учителю математики
Fordzon Putilovez
 

En vedette (20)

Articles of Faith
Articles of FaithArticles of Faith
Articles of Faith
 
Education Project Brief
Education Project BriefEducation Project Brief
Education Project Brief
 
Простаблисс
ПростаблиссПростаблисс
Простаблисс
 
신용의 사회 피칭
신용의 사회 피칭신용의 사회 피칭
신용의 사회 피칭
 
Gestão de Canais de Distribuição
Gestão de Canais de DistribuiçãoGestão de Canais de Distribuição
Gestão de Canais de Distribuição
 
Android Self Service Solution
Android Self Service SolutionAndroid Self Service Solution
Android Self Service Solution
 
Managing Community Open Source Brands
Managing Community Open Source BrandsManaging Community Open Source Brands
Managing Community Open Source Brands
 
Ostrava asset management
Ostrava asset managementOstrava asset management
Ostrava asset management
 
Projekt E- građani: Središnji državni portal
Projekt E- građani: Središnji državni portalProjekt E- građani: Središnji državni portal
Projekt E- građani: Središnji državni portal
 
pre launch project in Bhiwadi 9717762246
pre launch project in Bhiwadi 9717762246pre launch project in Bhiwadi 9717762246
pre launch project in Bhiwadi 9717762246
 
Residential plot for sale in kanpura patna
Residential plot for sale in kanpura patnaResidential plot for sale in kanpura patna
Residential plot for sale in kanpura patna
 
1interview1 golda
1interview1 golda1interview1 golda
1interview1 golda
 
PORTFOLIO
PORTFOLIOPORTFOLIO
PORTFOLIO
 
Classification of Matter Overview- Spring 2012
Classification of Matter Overview- Spring 2012Classification of Matter Overview- Spring 2012
Classification of Matter Overview- Spring 2012
 
Growing your school in troubled times, sbacs webinar
Growing your school in troubled times, sbacs webinarGrowing your school in troubled times, sbacs webinar
Growing your school in troubled times, sbacs webinar
 
Why is internet’s Democracy Rebirth so Sexy?
Why is internet’s Democracy Rebirth so Sexy?Why is internet’s Democracy Rebirth so Sexy?
Why is internet’s Democracy Rebirth so Sexy?
 
Lifestyle unit 8
Lifestyle unit 8Lifestyle unit 8
Lifestyle unit 8
 
Aef4 3 a passive
Aef4 3 a passiveAef4 3 a passive
Aef4 3 a passive
 
облачные сервисы учителю математики
облачные сервисы учителю математикиоблачные сервисы учителю математики
облачные сервисы учителю математики
 
Ismael alcolea Marketing Online EN
Ismael alcolea Marketing Online ENIsmael alcolea Marketing Online EN
Ismael alcolea Marketing Online EN
 

Similaire à Nibiru: Building your own NoSQL store

Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2
ice799
 
ParaForming - Patterns and Refactoring for Parallel Programming
ParaForming - Patterns and Refactoring for Parallel ProgrammingParaForming - Patterns and Refactoring for Parallel Programming
ParaForming - Patterns and Refactoring for Parallel Programming
khstandrews
 
Exploitation and State Machines
Exploitation and State MachinesExploitation and State Machines
Exploitation and State Machines
Michael Scovetta
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
Jesse Vincent
 

Similaire à Nibiru: Building your own NoSQL store (20)

IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
IMCSummit 2015 - Day 2 IT Business Track - 4 Myths about In-Memory Databases ...
 
Under The Hood Of A Shard-Per-Core Database Architecture
Under The Hood Of A Shard-Per-Core Database ArchitectureUnder The Hood Of A Shard-Per-Core Database Architecture
Under The Hood Of A Shard-Per-Core Database Architecture
 
Surge2012
Surge2012Surge2012
Surge2012
 
Fast and Scalable Python
Fast and Scalable PythonFast and Scalable Python
Fast and Scalable Python
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 
(Berkeley CS186 guest lecture) Big Data Analytics Systems: What Goes Around C...
(Berkeley CS186 guest lecture) Big Data Analytics Systems: What Goes Around C...(Berkeley CS186 guest lecture) Big Data Analytics Systems: What Goes Around C...
(Berkeley CS186 guest lecture) Big Data Analytics Systems: What Goes Around C...
 
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor API
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor APIBeyond the DSL - Unlocking the power of Kafka Streams with the Processor API
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor API
 
There's no magic... until you talk about databases
 There's no magic... until you talk about databases There's no magic... until you talk about databases
There's no magic... until you talk about databases
 
Postgres clusters
Postgres clustersPostgres clusters
Postgres clusters
 
Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2Infrastructure as code might be literally impossible part 2
Infrastructure as code might be literally impossible part 2
 
Avoiding big data antipatterns
Avoiding big data antipatternsAvoiding big data antipatterns
Avoiding big data antipatterns
 
The Computer Science Behind a modern Distributed Database
The Computer Science Behind a modern Distributed DatabaseThe Computer Science Behind a modern Distributed Database
The Computer Science Behind a modern Distributed Database
 
Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?Is NoSQL The Future of Data Storage?
Is NoSQL The Future of Data Storage?
 
ParaForming - Patterns and Refactoring for Parallel Programming
ParaForming - Patterns and Refactoring for Parallel ProgrammingParaForming - Patterns and Refactoring for Parallel Programming
ParaForming - Patterns and Refactoring for Parallel Programming
 
Exploitation and State Machines
Exploitation and State MachinesExploitation and State Machines
Exploitation and State Machines
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
 
Speeding up R with Parallel Programming in the Cloud
Speeding up R with Parallel Programming in the CloudSpeeding up R with Parallel Programming in the Cloud
Speeding up R with Parallel Programming in the Cloud
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
Distributed Database Consistency: Architectural Considerations and Tradeoffs
Distributed Database Consistency: Architectural Considerations and TradeoffsDistributed Database Consistency: Architectural Considerations and Tradeoffs
Distributed Database Consistency: Architectural Considerations and Tradeoffs
 
Stripe CTF3 wrap-up
Stripe CTF3 wrap-upStripe CTF3 wrap-up
Stripe CTF3 wrap-up
 

Plus de Edward Capriolo

Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
Edward Capriolo
 

Plus de Edward Capriolo (13)

Cassandra4hadoop
Cassandra4hadoopCassandra4hadoop
Cassandra4hadoop
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
 
M6d cassandra summit
M6d cassandra summitM6d cassandra summit
M6d cassandra summit
 
Apache Kafka Demo
Apache Kafka DemoApache Kafka Demo
Apache Kafka Demo
 
Cassandra NoSQL Lan party
Cassandra NoSQL Lan partyCassandra NoSQL Lan party
Cassandra NoSQL Lan party
 
Breaking first-normal form with Hive
Breaking first-normal form with HiveBreaking first-normal form with Hive
Breaking first-normal form with Hive
 
Casbase presentation
Casbase presentationCasbase presentation
Casbase presentation
 
Hadoop Monitoring best Practices
Hadoop Monitoring best PracticesHadoop Monitoring best Practices
Hadoop Monitoring best Practices
 
Whirlwind tour of Hadoop and HIve
Whirlwind tour of Hadoop and HIveWhirlwind tour of Hadoop and HIve
Whirlwind tour of Hadoop and HIve
 
Cli deep dive
Cli deep diveCli deep dive
Cli deep dive
 
Cassandra as Memcache
Cassandra as MemcacheCassandra as Memcache
Cassandra as Memcache
 
Counters for real-time statistics
Counters for real-time statisticsCounters for real-time statistics
Counters for real-time statistics
 
Real world capacity
Real world capacityReal world capacity
Real world capacity
 

Dernier

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Dernier (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 

Nibiru: Building your own NoSQL store