SlideShare a Scribd company logo
NoSQL
Death	
  to	
  Relational	
  Databases(?)
bensco'ield	
  –	
  viget	
  labs
codemash
14	
  january	
  2010




                                            1
Motivations



              2
Performance



              3
Scalability



              4
Meh



      5
Flexibility



              6
Complexity



             7
“Comics”	
  Is	
  Hard



                         8
9
Functionality



                10
Charlie	
  Chaplin




                                               Jet	
  Li



            Hank	
  Mann

                           Marian	
  Collier



                                                           11
Taxonomy



           12
Key-­‐Value	
  Stores



                        13
distributed	
  hash	
  tables



                                14
Performance     high
Scalability     high
Flexibility     high
Complexity      none
Functionality   variable	
  (none)


                                     15
Dynamo
GT.M
PStore
Redis



         16
Column-­‐Oriented	
  Stores



                              17
semi-­‐structured



                    18
Performance     high
Scalability     high
Flexibility     moderate
Complexity      low
Functionality   minimal


                           19
BigTable
Cassandra
HBase



            20
Document-­‐Oriented	
  Stores



                                21
also	
  semi-­‐structured



                            22
Performance     high
Scalability     variable	
  (high)
Flexibility     high
Complexity      low
Functionality   variable	
  (low)


                                     23
CouchDB
MongoDB
RDDB
Riak



          24
Graph	
  Databases



                     25
graph	
  theory



                  26
Performance     variable
Scalability     variable
Flexibility     high
Complexity      high
Functionality   graph	
  theory


                                  27
ActiveRDF	
  
AllegroGraph
Neo4J



                28
Relational	
  Databases



                          29
Performance     variable
Scalability     variable
Flexibility     low
Complexity      moderate
Functionality   relational	
  algebra


                                        30
Examples



           31
Redis



        32
Data	
  Types
strings
lists
sets
sorted	
  sets




                 33
In-­‐Memory
periodic	
  snapshots	
  /	
  append	
  only	
  'ile
master-­‐slave	
  replication
memory-­‐bound




                                                       34
require 'redis'

gl = Redis.new

# A string
gl['name'] = 'Kyle Rayner'
gl['name']
gl.delete('name')

# A list
gl.push_tail 'to-dos', 'Lose Ion power'
gl.push_tail 'to-dos', 'Mourn dead loved ones'
gl.push_tail 'to-dos', 'Blow up zombie lanterns'

gl.list_range('to-dos', 0, -1)




                                                   35
Tokyo	
  Cabinet



                   36
Data	
  Types
binary	
  data
strings




                 37
Tables!?




           38
Related	
  Projects
tyrant
dystopia
promenade




                      39
require 'rufus/tokyo'

# Key-value
jli = Rufus::Tokyo::Cabinet.new('jl.tch')
jli['members'] = [
  'Batman',
  'Black Canary',
  'Blue Beetle',
  'Captain Marvel',
  'Doctor Light',
  'Doctor Fate',
  'Guy Gardner',
  'Martian Manhunter',
  'Mister Miracle'
].to_yaml

YAML.load(jli['members'])




                                            40
require 'rufus/tokyo'

# Table
big7 = Rufus::Tokyo::Table.new('big7.tct')

big7['s']    =   {'name'   =>   'Superman', 'role' => 'deus ex machina'}
big7['b']    =   {'name'   =>   'Batman', 'role' => 'mastermind'}
big7['gl']   =   {'name'   =>   'Green Lantern', 'role' => 'space cop'}
big7['f']    =   {'name'   =>   'Flash', 'role' => 'speedster'}
big7['mm']   =   {'name'   =>   'Martian Manhunter', 'role' => '?'}
big7['ww']   =   {'name'   =>   'Wonder Woman', 'role' => 'hitter'}
big7['a']    =   {'name'   =>   'Aquaman', 'role' => 'fish-talking'}

big7.query {|q|
  q.add_condition 'role', :streq, 'fish-talking'
}




                                                                           41
Cassandra



            42
Genealogy
Dynamo
BigTable




            43
Column-­‐Oriented
columns
supercolumns
column	
  families




                     44
Distributed
automatic	
  replication
eventual	
  consistency
easy	
  expansion




                           45
Availability
weak	
  reads
quorum	
  reads




                  46
require 'cassandra'

op = Cassandra.new('OnePiece')

op.insert(:People, '1', {'name' => 'Luffy'})
op.insert(:People, '2', {'name' => 'Crocodile'})
op.insert(:People, '3', {'name' => 'Mr. 3'})

op.insert(:Fights, '1', {'opponents' => {UUID.new => '2'}})
op.insert(:Fights, '1', {'opponents' => {UUID.new => '3'}})

luffy_fights = op.get(:Fights, '1', 'opponents')
luffy_fights.map {|t, opp| op.get(:People, opp, 'name')}




                                                              47
CouchDB



          48
Web-­‐Inspired
JSON	
  storage
HTTP	
  /	
  RESTful	
  interface




                                    49
Views
prede'ined,	
  updated	
  incrementally
javascript	
  for	
  map/reduce




                                          50
Updates
full,	
  including	
  embedded	
  documents




                                              51
require 'couchrest'

konoha = CouchRest.database!('http://127.0.0.1:5984/konoha')
naruto = konoha.save_doc {
  'name' => 'Naruto Uzumaki',
  'chakra' => 'wind'
}
shikamaru = konoha.save_doc {
  'name' => 'Shikamaru Nara',
  'chunin' => true
}

konoha.save_doc {
  '_id' => '_design/first',
  :views => {
    :chunin => {
      :map => 'function(doc){if(doc.chunin){emit(null, doc);}}'
    }
  }
}

puts konoha.views('first/chunin')['rows'].inspect



                                                                  52
MongoDB



          53
Storage
binary	
  JSON	
  documents




                              54
Access
native	
  clients




                    55
Queries
dynamic
index-­‐based




                56
Updates
allows	
  partial	
  updates




                               57
require 'mongo'

avengers = Mongo::Connection.new.db('avengers')
members = avengers.collection('members')

members.insert    {'name'   =>   'Ant-Man'}
members.insert    {'name'   =>   'Hulk'}
members.insert    {'name'   =>   'Iron Man'}
members.insert    {'name'   =>   'Thor'}
members.insert    {'name'   =>   'Wasp'}

members.create_index('name')

pym = members.find {'name' => 'Ant-Man'}
pym['name'] = 'Giant-Man'
pym.save

members.remove {'name' => 'Hulk'}

members.insert {'name' => 'Captain America'}




                                                  58
Riak



       59
also	
  Web-­‐Inspired
JSON	
  storage
HTTP	
  /	
  RESTful	
  interface
links	
  for	
  relationships




                                    60
Decentralized
no	
  privileged	
  nodes




                            61
Con'igurable
store	
  /	
  read	
  /	
  write




                                   62
require 'jiak'

jc = JiakClient.new('127.0.0.1', 8098)
jc.set_bucket_schema('supervillains', {
   'allowed_fields' => ['name', 'alias', 'power']
})

jc.store({
   'bucket' => 'supervillains',
   'key' => 'Normie',
   'object' => {
     'name' => 'Norman Osborn',
     'alias' => 'Green Goblin',
     'power' => 'Supreme jerkfacedness'
   },
   'links' => []
})

kth = jc.fetch('supervillains', 'Normie')




                                                    63
Neo4J



        64
Structure
nodes	
  and	
  edges
key-­‐value	
  pairs




                        65
Queries
lucene
gremlin




          66
require 'neo4j'

class Person
  include Neo4j::NodeMixin

  property :name, :mutant
  index :name, :mutant

  has_n :crushes
  has_n :hookups
  has_n :marriages

  def initialize(name, mutant = true)
    name = name
    mutant = mutant
  end
end




                                        67
Neo4j::Transaction.run do
  magneto = Person.new('Magneto')
  esme    = Person.new('Esme')
  rogue   = Person.new('Rogue')
  magda   = Person.new('Magda', false)
  wasp    = Person.new('Wasp', false)

  magneto.crushes   << wasp
  magneto.hookups   << rogue
  magneto.marriages << magda

  esme.crushes      << magneto
  rogue.hookups     << magneto
  magda.marriages   << magneto
end




                                         68
magneto = Person.find(:name => 'Magneto')

# Who likes Magneto?
magneto.relationships.incoming(:crushes).nodes

# Which non-mutants has Magneto dated?
magneto.hookups{ !mutant? }.to_a




                                                 69
Simulations



              70
Structure



            71
people
{
  ‘name’:‘Jimmy Olsen’
  ‘title’:‘Superman’s Pal’
  ‘company_id’:12441
}

companies
{
  _id:12441
  ‘name’:‘Daily Planet’
}




                             72
Lack	
  of	
  Structure



                          73
mysql> SELECT * FROM people LIMIT 1 G
*************************** 1. row ***************************
     id: 1
content: ---
company: Daily Planet
name: Jimmy Olsen
title: Superman’s Pal




                                                                 74
But	
  wait!
friendfeed
friendly




               75
mysql> desc people;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES |      | NULL    |       |
| name | varchar(50) | YES |       | NULL    |       |
+-------+-------------+------+-----+---------+-------+


mysql> desc attributes;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id        | int(11)      | YES |      | NULL    |       |
| person_id | int(11)      | YES |      | NULL    |       |
| attribute | varchar(50) | YES |       | NULL    |       |
| value     | varchar(100) | YES |      | NULL    |       |
+-----------+--------------+------+-----+---------+-------+




                                                              76
Not	
  Only	
  SQL



                     77
Polyglot	
  Persistence



                          78
Caching



          79
Already	
  in	
  Use
memcached




                       80
Queues



         81
Long-­‐running	
  processes
resque




                              82
Logging



          83
Rails	
  Log	
  Replacement
http://github.com/peburrows/mongo_db_logger




                                              84
Hybrid	
  Domains



                    85
different	
  domains



                       86
Publishing
e-­‐commerce
documents




               87
Dating
e-­‐commerce
social	
  graph




                  88
different	
  scales



                      89
Photo	
  Sharing
user	
  accounts
uploaded	
  photos




                     90
Next	
  Steps



                91
Explore



          92
Database	
  List
http://internetmindmap.com/database_software


NoSQL	
  Google	
  Group
http://groups.google.com/group/nosql-­‐discussion




                                                    93
Ignore	
  the	
  Database



                            94
Logical	
  Modeling	
  First
be	
  mindful




                               95
Change	
  the	
  Default



                           96
Application	
  Templates
start	
  with	
  something	
  new




                                    97
bensco'ield
@bsco'ield
ben.sco'ield@viget.com
http:/    /spkr8.com/bsco'ield
http:/    /viget.com/extend
http:	
   /bensco'ield.com
     /




                                 98

More Related Content

ZIP
NoSQL databases
Harri Kauhanen
 
PDF
NoSQL databases
Marin Dimitrov
 
PDF
MongodB Internals
Norberto Leite
 
PDF
Scalable webservice
DaeMyung Kang
 
PDF
MongoDB Fundamentals
MongoDB
 
PPTX
elasticsearch_적용 및 활용_정리
Junyi Song
 
PPTX
Introduction to NoSQL Databases
Derek Stainer
 
PPTX
Indexing with MongoDB
MongoDB
 
NoSQL databases
Harri Kauhanen
 
NoSQL databases
Marin Dimitrov
 
MongodB Internals
Norberto Leite
 
Scalable webservice
DaeMyung Kang
 
MongoDB Fundamentals
MongoDB
 
elasticsearch_적용 및 활용_정리
Junyi Song
 
Introduction to NoSQL Databases
Derek Stainer
 
Indexing with MongoDB
MongoDB
 

What's hot (20)

PPT
MongoDB Schema Design
MongoDB
 
PDF
HBase Storage Internals
DataWorks Summit
 
PDF
[pgday.Seoul 2022] PostgreSQL with Google Cloud
PgDay.Seoul
 
PPTX
Introduction to Apache Camel
Claus Ibsen
 
PDF
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
Amazon Web Services Korea
 
PPTX
NoSQL Graph Databases - Why, When and Where
Eugene Hanikblum
 
PDF
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Uwe Printz
 
PDF
MongoDB WiredTiger Internals
Norberto Leite
 
PPTX
Mongo db intro.pptx
JWORKS powered by Ordina
 
PDF
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
PDF
Amazon DynamoDB 키 디자인 패턴
Amazon Web Services Korea
 
PPTX
Introduction to NoSQL
PolarSeven Pty Ltd
 
PDF
Data Engineering 101
DaeMyung Kang
 
PDF
HBase at LINE
Shun Nakamura
 
PDF
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Databricks
 
PPTX
When to Use MongoDB
MongoDB
 
PDF
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Jignesh Shah
 
PDF
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
 
PPTX
An Introduction to Druid
DataWorks Summit
 
PDF
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
MongoDB Schema Design
MongoDB
 
HBase Storage Internals
DataWorks Summit
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
PgDay.Seoul
 
Introduction to Apache Camel
Claus Ibsen
 
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
Amazon Web Services Korea
 
NoSQL Graph Databases - Why, When and Where
Eugene Hanikblum
 
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Uwe Printz
 
MongoDB WiredTiger Internals
Norberto Leite
 
Mongo db intro.pptx
JWORKS powered by Ordina
 
Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
Amazon DynamoDB 키 디자인 패턴
Amazon Web Services Korea
 
Introduction to NoSQL
PolarSeven Pty Ltd
 
Data Engineering 101
DaeMyung Kang
 
HBase at LINE
Shun Nakamura
 
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Databricks
 
When to Use MongoDB
MongoDB
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Jignesh Shah
 
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
 
An Introduction to Druid
DataWorks Summit
 
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
Ad

Similar to NoSQL @ CodeMash 2010 (20)

PDF
The State of NoSQL
Ben Scofield
 
PDF
Ben Coverston - The Apache Cassandra Project
Morningstar Tech Talks
 
PDF
NoSQL Smackdown!
Tim Berglund
 
PPTX
Building a Scalable Distributed Stats Infrastructure with Storm and KairosDB
Cody Ray
 
PDF
Scaling Databases with DBIx::Router
Perrin Harkins
 
PPTX
The rise of json in rdbms land jab17
alikonweb
 
PDF
Getting started with Spark & Cassandra by Jon Haddad of Datastax
Data Con LA
 
PDF
PostgreSQL Open SV 2018
artgillespie
 
PDF
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
SegFaultConf
 
PPTX
From Postgres to Cassandra (Rimas Silkaitis, Heroku) | C* Summit 2016
DataStax
 
PPTX
Tokyo APAC Groundbreakers tour - The Complete Java Developer
Connor McDonald
 
PDF
Cassandra Summit 2013 Keynote
jbellis
 
PPTX
Cassandra Intro -- TheEdge2012
robosonia Mar
 
KEY
Cassandra and Rails at LA NoSQL Meetup
Michael Wynholds
 
PDF
Cassandra Tutorial
mubarakss
 
PDF
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
StampedeCon
 
PDF
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
PgDay.Seoul
 
PDF
FreeBSD 2014 Flame Graphs
Brendan Gregg
 
PPT
Scaling web applications with cassandra presentation
Murat Çakal
 
PDF
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
InSync2011
 
The State of NoSQL
Ben Scofield
 
Ben Coverston - The Apache Cassandra Project
Morningstar Tech Talks
 
NoSQL Smackdown!
Tim Berglund
 
Building a Scalable Distributed Stats Infrastructure with Storm and KairosDB
Cody Ray
 
Scaling Databases with DBIx::Router
Perrin Harkins
 
The rise of json in rdbms land jab17
alikonweb
 
Getting started with Spark & Cassandra by Jon Haddad of Datastax
Data Con LA
 
PostgreSQL Open SV 2018
artgillespie
 
Robert Pankowecki - Czy sprzedawcy SQLowych baz nas oszukali?
SegFaultConf
 
From Postgres to Cassandra (Rimas Silkaitis, Heroku) | C* Summit 2016
DataStax
 
Tokyo APAC Groundbreakers tour - The Complete Java Developer
Connor McDonald
 
Cassandra Summit 2013 Keynote
jbellis
 
Cassandra Intro -- TheEdge2012
robosonia Mar
 
Cassandra and Rails at LA NoSQL Meetup
Michael Wynholds
 
Cassandra Tutorial
mubarakss
 
Beyond the Query – Bringing Complex Access Patterns to NoSQL with DataStax - ...
StampedeCon
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
PgDay.Seoul
 
FreeBSD 2014 Flame Graphs
Brendan Gregg
 
Scaling web applications with cassandra presentation
Murat Çakal
 
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
InSync2011
 
Ad

More from Ben Scofield (20)

PDF
How to Be Awesome in 2.5 Steps
Ben Scofield
 
PDF
Building Cloud Castles - LRUG
Ben Scofield
 
PDF
Great Developers Steal
Ben Scofield
 
PDF
Thinking Small
Ben Scofield
 
PDF
Open Source: A Call to Arms
Ben Scofield
 
PDF
Ship It
Ben Scofield
 
PDF
Building Cloud Castles
Ben Scofield
 
PDF
Intentionality: Choice and Mastery
Ben Scofield
 
PDF
Mastery or Mediocrity
Ben Scofield
 
PDF
With a Mighty Hammer
Ben Scofield
 
PDF
Mind Control - DevNation Atlanta
Ben Scofield
 
PDF
Understanding Mastery
Ben Scofield
 
PDF
Mind Control: Psychology for the Web
Ben Scofield
 
PDF
NoSQL: Death to Relational Databases(?)
Ben Scofield
 
KEY
Charlotte.rb - "Comics" Is Hard
Ben Scofield
 
KEY
The Future of Data
Ben Scofield
 
PDF
WindyCityRails - "Comics" Is Hard
Ben Scofield
 
PDF
"Comics" Is Hard: Alternative Databases
Ben Scofield
 
KEY
Mind Control on the Web
Ben Scofield
 
KEY
How the Geeks Inherited the Earth
Ben Scofield
 
How to Be Awesome in 2.5 Steps
Ben Scofield
 
Building Cloud Castles - LRUG
Ben Scofield
 
Great Developers Steal
Ben Scofield
 
Thinking Small
Ben Scofield
 
Open Source: A Call to Arms
Ben Scofield
 
Ship It
Ben Scofield
 
Building Cloud Castles
Ben Scofield
 
Intentionality: Choice and Mastery
Ben Scofield
 
Mastery or Mediocrity
Ben Scofield
 
With a Mighty Hammer
Ben Scofield
 
Mind Control - DevNation Atlanta
Ben Scofield
 
Understanding Mastery
Ben Scofield
 
Mind Control: Psychology for the Web
Ben Scofield
 
NoSQL: Death to Relational Databases(?)
Ben Scofield
 
Charlotte.rb - "Comics" Is Hard
Ben Scofield
 
The Future of Data
Ben Scofield
 
WindyCityRails - "Comics" Is Hard
Ben Scofield
 
"Comics" Is Hard: Alternative Databases
Ben Scofield
 
Mind Control on the Web
Ben Scofield
 
How the Geeks Inherited the Earth
Ben Scofield
 

Recently uploaded (20)

PDF
Beyond Automation: The Role of IoT Sensor Integration in Next-Gen Industries
Rejig Digital
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Beyond Automation: The Role of IoT Sensor Integration in Next-Gen Industries
Rejig Digital
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 

NoSQL @ CodeMash 2010