SlideShare a Scribd company logo
Beyond (No)SQL
       Sarah Mei
      Pivotal Labs

      @sarahmei
 sarah@pivotallabs.com
?
Fsck CS.
      -DHH
Fsck CS.
      -DHH (paraphrased)
Photo by jasonwg (http://www.flickr.com/photos/jasonwg/1382036808)
Photo by jasonwg (http://www.flickr.com/photos/jasonwg/1382036808)
Agenda
Agenda

• The data storage landscape
Agenda

• The data storage landscape
• Relational model & SQL
Agenda

• The data storage landscape
• Relational model & SQL
  RELATIONAL ALGEBRA
Agenda

• The data storage landscape
• Relational model & SQL
  RELATIONAL ALGEBRA
• Evaluating data stores
Photo by TANAKA Juuyoh http://www.flickr.com/photos/tanaka_juuyoh/3121538767/
Photo by TANAKA Juuyoh http://www.flickr.com/photos/tanaka_juuyoh/3121538767/
Photo by TANAKA Juuyoh http://www.flickr.com/photos/tanaka_juuyoh/3121538767/
Photo by TANAKA Juuyoh http://www.flickr.com/photos/tanaka_juuyoh/3121538767/
Photo by TANAKA Juuyoh http://www.flickr.com/photos/tanaka_juuyoh/3121538767/
“NoSQL”
“NoSQL”
MongoDB
“NoSQL”
MongoDB

Memcache
“NoSQL”
MongoDB

Memcache

Bigtable
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB

Cassandra
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB

Cassandra

Project Voldemort
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB

Cassandra

Project Voldemort

Hbase
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB

Cassandra

Project Voldemort

Hbase

Riak
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB

Cassandra

Project Voldemort

Hbase

Riak

Redis
“NoSQL”
MongoDB

Memcache

Bigtable

CouchDB

Cassandra

Project Voldemort

Hbase

Riak

Redis

Tokyo Cabinet
“NoSQL”
MongoDB

Memcache                 Key-value
Bigtable

CouchDB

Cassandra

Project Voldemort

Hbase

Riak

Redis

Tokyo Cabinet
“NoSQL”
MongoDB

Memcache                 Key-value
Bigtable

CouchDB
                         Document
Cassandra

Project Voldemort

Hbase

Riak

Redis

Tokyo Cabinet
“NoSQL”
MongoDB

Memcache                 Key-value
Bigtable

CouchDB
                         Document
Cassandra

Project Voldemort

Hbase

Riak

Redis

Tokyo Cabinet
“NoSQL”
MongoDB

Memcache                 Key-value
Bigtable

CouchDB
                         Document
Cassandra                 Other
Project Voldemort

Hbase

Riak

Redis

Tokyo Cabinet
Photo from mga (http://www.flickr.com/photos/mgiraldo/420642350)
NO.
The Relational Model




Diagram by Wikipedia user AutumnSnow (http://en.wikipedia.org/wiki/File:Relational_model_concepts.png)
Sets
Sets

• No duplicates
Sets

• No duplicates
• Unordered
More sets
More sets

• TABLE: a set of columns and a set of rows
More sets

• TABLE: a set of columns and a set of rows
• COLUMN: a unique name and a type
More sets

• TABLE: a set of columns and a set of rows
• COLUMN: a unique name and a type
• ROW: a set of name-value pairs
Relational Algebra


Operations you can do on tables (“relations”)
Operations
• projection: subset of available columns
• selection: subset of available rows
• cartesian product
• set union
• set intersection
• rename
Operations
• projection: subset of available columns
• selection: subset of available rows
• cartesian product
• set union
• set intersection
• rename
A Join
select * from foo, bar where foo.ipsum = bar.lorem


      First you take the cartesian product....

  foo:   bat    ipsum            bar:     cat   lorem
         me       5       X                us        5
         you      4                      them        4
                   bat   ipsum   cat    lorem
                  me      5        us    5
            =     me      5      them    4
                  you     4        us    5
                  you     4      them    4
A Join
select * from foo, bar where foo.ipsum = bar.lorem


Then you select the rows that satisfy the join condition:



 bat   ipsum   cat    lorem        bat   ipsum   cat    lorem
 me      5       us    5           me      5       us    5
 me      5     them    4      =>   you     4     them    4
 you     4       us    5
 you     4     them    4
A Join
select * from foo, bar where foo.ipsum = bar.lorem


      First you take the cartesian product....

  foo:   bat    ipsum            bar:     cat   lorem
         me       5       X                us        5
         you      4                      them        4
                   bat   ipsum   cat    lorem
                  me      5        us    5
            =     me      5      them    4
                  you     4        us    5
                  you     4      them    4
A Join
select * from foo, bar where foo.ipsum = bar.lorem


      First you take the cartesian product....

  foo:   bat    ipsum            bar:     cat   lorem
         me     5         X                us        5
         8,000,000
         you    4                        them        4
                   bat   ipsum   cat    lorem
                  me      5        us    5
            =     me      5      them    4
                  you     4        us    5
                  you     4      them    4
A Join
select * from foo, bar where foo.ipsum = bar.lorem


      First you take the cartesian product....

  foo:   bat    ipsum            bar:     cat   lorem
         me     5         X                us     5
         8,000,000                          100,000
         you    4                        them     4
                   bat   ipsum   cat    lorem
                  me      5        us    5
            =     me      5      them    4
                  you     4        us    5
                  you     4      them    4
A Join
select * from foo, bar where foo.ipsum = bar.lorem


      First you take the cartesian product....

  foo:   bat    ipsum            bar:     cat   lorem
         me     5         X                us     5
         8,000,000                          100,000
         you    4                        them     4
                   bat   ipsum   cat    lorem
                  me    5     us    5
            =     me    5   them    4
                    800,000,000,000
                  you   4     us    5
                  you   4   them    4
Your choices
Your choices


• Scale the database
Your choices


• Scale the database
• Try a different approach
What SQL Gets You
What SQL Gets You

• Speed
What SQL Gets You

• Speed
   (when data is highly structured and small enough)
What SQL Gets You

• Speed
   (when data is highly structured and small enough)
• Aggregation
What SQL Gets You

• Speed
    (when data is highly structured and small enough)
• Aggregation
• Relational searching
What SQL Gets You

• Speed
   (when data is highly structured and small enough)
• Aggregation
• Relational searching
• ACID - guaranteed full consistency
Image by captcreate (http://www.flickr.com/photos/27845211@N02/2662264721)
What SQL Gets You
What SQL Gets You

• Speed
What SQL Gets You

• Speed
   (when data is highly structured and small enough)
What SQL Gets You

• Speed
   (when data is highly structured and small enough)
• Aggregation
What SQL Gets You

• Speed
    (when data is highly structured and small enough)
• Aggregation
• Relational searching
What SQL Gets You

• Speed
   (when data is highly structured and small enough)
• Aggregation
• Relational searching
• ACID - guaranteed full consistency
What if you gave up
 data aggregation?
What if you gave up
 data aggregation?

 Document databases:
     MongoDB
     CouchDB
     Riak
What if you gave up
 where clauses?
What if you gave up
 where clauses?
Key-value stores:
     Memcache
     Project Voldemort
     Redis
     Tokyo Cabinet
What if you gave up
  consistency?
What if you gave up
  consistency?


Then things get interesting.
ACID & BASE
ACID & BASE

• Atomicity
ACID & BASE

• Atomicity
• Consistency
ACID & BASE

• Atomicity
• Consistency
• Isolation
ACID & BASE

• Atomicity
• Consistency
• Isolation
• Durability
ACID & BASE

• Atomicity
• Consistency
• Isolation
• Durability
ACID & BASE

• Atomicity     • Basically Available
• Consistency
• Isolation
• Durability
ACID & BASE

• Atomicity     • Basically Available
• Consistency   • Soft state
• Isolation
• Durability
ACID & BASE

• Atomicity     • Basically Available
• Consistency   • Soft state
• Isolation     • Eventually consistent
• Durability
Photo by Marcus Vegas (http://www.flickr.com/photos/vegas/413159909)
Fully ACID                                                        Fully BASE




        Photo by Marcus Vegas (http://www.flickr.com/photos/vegas/413159909)
Fully ACID                                                        Fully BASE




                                Redis



        Photo by Marcus Vegas (http://www.flickr.com/photos/vegas/413159909)
Fully ACID                                                        Fully BASE




  CouchDB                       Redis



        Photo by Marcus Vegas (http://www.flickr.com/photos/vegas/413159909)
Fully ACID                                                        Fully BASE




  CouchDB                       Redis                        Bigtable



        Photo by Marcus Vegas (http://www.flickr.com/photos/vegas/413159909)
Questions to ask about data

  • Where can I compromise aggregation?
  • Where can I compromise where clauses?
  • Where can I compromise consistency?
      Where can I localize consistency?
CAP Theorem
Pick any two:
CAP Theorem
Pick any two:
   • Consistency
CAP Theorem
Pick any two:
   • Consistency
   • Availability
CAP Theorem
Pick any two:
   • Consistency
   • Availability
   • Partition tolerance
Summary
Summary

Every system at scale will have to
compromise consistency at some level.
Summary

Every system at scale will have to
compromise consistency at some level.
Summary

Every system at scale will have to
compromise consistency at some level.


Do it mindfully.
Questions?
Twitter: @sarahmei
Email: sarah@pivotallabs.com
Slides: http://bit.ly/9xS2PK


Please rate this talk! http://bit.ly/9MCtX9
Ad

More Related Content

What's hot (20)

Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側
Cloudera Japan
 
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan
 
[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화
[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화
[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화
OpenStack Korea Community
 
CockroachDB
CockroachDBCockroachDB
CockroachDB
andrei moga
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
オラクルエンジニア通信
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
NexThoughts Technologies
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
NoSQLmatters
 
YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions
Yugabyte
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Rds data lake @ Robinhood
Rds data lake @ Robinhood Rds data lake @ Robinhood
Rds data lake @ Robinhood
BalajiVaradarajan13
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
Yahoo!デベロッパーネットワーク
 
PostgreSQL and Benchmarks
PostgreSQL and BenchmarksPostgreSQL and Benchmarks
PostgreSQL and Benchmarks
Jignesh Shah
 
An Intro to NoSQL Databases
An Intro to NoSQL DatabasesAn Intro to NoSQL Databases
An Intro to NoSQL Databases
Rajith Pemabandu
 
Hive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleHive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! Scale
DataWorks Summit
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
Oracle GoldenGate導入Tips
Oracle GoldenGate導入TipsOracle GoldenGate導入Tips
Oracle GoldenGate導入Tips
オラクルエンジニア通信
 
Hadoop Tutorial For Beginners
Hadoop Tutorial For BeginnersHadoop Tutorial For Beginners
Hadoop Tutorial For Beginners
Dataflair Web Services Pvt Ltd
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
 
TiDBのトランザクション
TiDBのトランザクションTiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
 
Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側Apache Kuduを使った分析システムの裏側
Apache Kuduを使った分析システムの裏側
Cloudera Japan
 
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
IBM Analytics Japan
 
[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화
[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화
[OpenStack Days Korea 2016] Track1 - All flash CEPH 구성 및 최적화
OpenStack Korea Community
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
オラクルエンジニア通信
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
NoSQLmatters
 
YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions
Yugabyte
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019  #hc...
HDFSのスケーラビリティの限界を突破するためのさまざまな取り組み | Hadoop / Spark Conference Japan 2019 #hc...
Yahoo!デベロッパーネットワーク
 
PostgreSQL and Benchmarks
PostgreSQL and BenchmarksPostgreSQL and Benchmarks
PostgreSQL and Benchmarks
Jignesh Shah
 
An Intro to NoSQL Databases
An Intro to NoSQL DatabasesAn Intro to NoSQL Databases
An Intro to NoSQL Databases
Rajith Pemabandu
 
Hive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleHive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! Scale
DataWorks Summit
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
Mohamed Farouk
 
TiDBのトランザクション
TiDBのトランザクションTiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
 

Recently uploaded (20)

How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
LDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini UpdatesLDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini Updates
LDM Mia eStudios
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
LDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini UpdatesLDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini Updates
LDM Mia eStudios
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
How to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of saleHow to manage Multiple Warehouses for multiple floors in odoo point of sale
How to manage Multiple Warehouses for multiple floors in odoo point of sale
Celine George
 
Ad

Beyond (No)SQL

Editor's Notes

  • #32: A table is called a “relation” in this model, and it’s defined by a list of column definitions. Each column definition specifies a unique column name and the type of the values that are permitted for that column. The body of the table is a set of rows, which are called tuples in the model. Each row is a set of key-value pairs, or tuple, consisting of the name of the column and the value of the data. Each tuple has to be unique in the table.
  • #38: They transform tables into other tables. Another word for this is “query.”