SlideShare a Scribd company logo
Introduction to FaunaDB
A Presentation for DB security course at Sharif University of Technology
Introduction to FaunaDB 1
Presenters:
Ali Alaei
Yousef Javaherian
Course instructor:
Sadegh Dorri Nogoorani
January 2022
IN THE NAME OF GOD
Overview
1. What is FaunaDB?
2. Why FaunaDB?
3. Comparison To Traditional RDBMS
4. A very quick intro to FQL
• Structure
• Basic CRUD operations
• Index
Introduction to FaunaDB 2
What is FauaDB?
FaunaDB is a next-generation cloud database that combines
the simplicity of NoSQL, without sacrificing the ability to
model complex relationships.
Introduction to FaunaDB 3
Why FaunaDB?
Introduction to FaunaDB 4
• SQL(safety, security and consistency)+NOSQL(flexibility, productivity and
scalability)
• Global Serverless database
• Web-native GraphQL interface
• ACID (Atomicity, Consistency, Isolation, Durability)
• Enable you to simplify code, reduce costs and ship faster
• Fine-grained security
• Multi-Model interface
Different data modeling
• Graph
• Relational
• Temporal
• Document
Introduction to FaunaDB 6
Fauna: best of both the relational and
NoSQL worlds
Introduction to FaunaDB 7
Feature Description
Strong ACID Transactions FaunaDB guarantees 100% ACID transactions across a distributed database cluster.
Native Multi-tenancy FaunaDB has built-in quality of service (QoS) capabilities that allow multiple tenants to co-
exist without any noisy neighbor issues. FaunaDB is great for SaaS applications.
Scalability FaunaDB can scale from a single node install to an enterprise-grade setup across multiple
data centers with no downtime. The management of the database is completely transparent
to the application.
High Availability FaunaDB’s peer-to-peer/masterless architecture provides a seamless response to any node
failure or data center outage.
Operational Simplicity Operational simplicity is at the core of FaunaDB. Unlike incumbent NoSQL solutions,
FaunaDB’s rich cluster management APIs makes cluster setup a breeze.
Security FaunaDB provides identity management, row-level access control, transaction auditing, and
encryption in motion and encryption at rest coming soon.
Document Relational
Features
FaunaDB supports various application programming languages with built-in drivers. A single
query in FaunaDB (FQL) can pull data across documents, relational graph, and temporal
datasets.
Comparison To Traditional
RDBMS
Introduction to FaunaDB 8
What does relational mean to
different database operators?
Introduction to FaunaDB 9
The relational checklist in FaunaDB
Introduction to FaunaDB 10
Feature Description
Structure FaunaDB provides the flexibility of NoSQL databases when it comes to schema design. At the
same time, like relational databases with indexes and the (soon to be added) class validators,
FaunaDB enforces structure and defined access patterns to the data. FaunaDB stores data as
documents (rows) in the database.
Integrity Fauna DB supports the creation of Primary keys and will soon be able to enforce Foreign
keys.
Joins FaunaDB supports equi-joins and other set operations like union, intersect, minus, etc.
across classes. Support for outer joins is on the roadmap.
Indexes FaunaDB supports the creation of various types of Indexes. Indexes are used to define the
access path to data.
ACID FaunaDB fully supports transactions and provides strong consistency.
Query Language Fauna Query Language (FQL) allows for complex, precise manipulation and retrieval of data
stored within FaunaDB.
Enterprise Readiness FaunaDB not only solves the problem of scale, but all the problems adjacent to scale like
security, compliance, global distribution, consistency, multi-tenancy, and more.
Postgres vs Fauna
Introduction to FaunaDB 11
Postgres Fauna Explanation
Row or record Document An individual record in the database.
Table Collection A container for documents.
Replication Replication Fauna’s replication is semi-synchronous and does not require any operator management.
Sharding n/a Fauna does not require the operator to manage sharding or partitioning in any way.
Primary key Ref The unique identifier of a document.
Foreign key Ref A pointer from one document to another.
Index,
materialized view
Index Fauna merges the concepts of indexes and views. Indexes must be explicitly referenced,
similar to the concept of hinting.
Transaction Transaction Both Postgres and Fauna support ACID transactions.
Schema,
database
Database Both Postgres and Fauna have a concept of logical databases that include schema (also
known as DDL) records describing the collections, indexes, and security properties of the
included records.
Stored procedure,
user-defined function Function Fauna supports user-defined functions written in FQL.
A very quick intro to FQL
Introduction to FaunaDB 12
Structure
Introduction to FaunaDB 13
Documents(like row in RDMS)
Documents:
• The smallest units of data in Fauna are schemeless documents
• Stored like json
• A group of documents create a collections
Introduction to FaunaDB 15
Collection(like table in RDMS)
Introduction to FaunaDB 16
Basic CRUD operations(1/2)
Introduction to FaunaDB 17
Replace maybe used too
Basic CRUD operations (2/2)
Introduction to FaunaDB 18
Index(like views in RDBMS)
With indexes you can:
 enforce unique constraints
 sort and filter results
 create computed values from document data
Introduction to FaunaDB 19
References
1. https://docs.fauna.com/fauna/current/
2. https://auth0.com/blog/what-is-fauna-and-how-does-it-work-with-auth0/
3. FaunaDB: An architectural overview, Freels, Matt 2018
Introduction to FaunaDB 20
Thanks!
Sayed Ali Alaei Tabatabaei
alaei@sharif.edu
ali.alaei.tabatabaei@gmail.com
Introduction to FaunaDB 21
Ad

More Related Content

What's hot (20)

SQL locks-presentation
SQL locks-presentationSQL locks-presentation
SQL locks-presentation
Nuzhat Bhat
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
Oracle GoldenGate アーキテクチャと基本機能
Oracle GoldenGate アーキテクチャと基本機能Oracle GoldenGate アーキテクチャと基本機能
Oracle GoldenGate アーキテクチャと基本機能
オラクルエンジニア通信
 
JDBC
JDBCJDBC
JDBC
Ankit Desai
 
TiDBのトランザクション
TiDBのトランザクションTiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
 
8. sql
8. sql8. sql
8. sql
khoahuy82
 
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
Insight Technology, Inc.
 
Dbms interview questions
Dbms interview questionsDbms interview questions
Dbms interview questions
ambika93
 
database-stucture-and-space-managment.ppt
database-stucture-and-space-managment.pptdatabase-stucture-and-space-managment.ppt
database-stucture-and-space-managment.ppt
Iftikhar70
 
Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
オラクルエンジニア通信
 
Data definition language (ddl)
Data definition language (ddl)Data definition language (ddl)
Data definition language (ddl)
Dex Winadha
 
Accenture informatica interview question answers
Accenture informatica interview question answersAccenture informatica interview question answers
Accenture informatica interview question answers
Sweta Singh
 
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Edureka!
 
İleri Seviye T-SQL Programlama - Chapter 14
İleri Seviye T-SQL Programlama - Chapter 14İleri Seviye T-SQL Programlama - Chapter 14
İleri Seviye T-SQL Programlama - Chapter 14
Cihan Özhan
 
9. index and index organized table
9. index and index organized table9. index and index organized table
9. index and index organized table
Amrit Kaur
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
Kouhei Sutou
 
View & index in SQL
View & index in SQLView & index in SQL
View & index in SQL
Swapnali Pawar
 
Introduction to oracle database (basic concepts)
Introduction to oracle database (basic concepts)Introduction to oracle database (basic concepts)
Introduction to oracle database (basic concepts)
Bilal Arshad
 
Oracle GoldenGate Cloud Serviceユーザーズガイド
Oracle GoldenGate Cloud ServiceユーザーズガイドOracle GoldenGate Cloud Serviceユーザーズガイド
Oracle GoldenGate Cloud Serviceユーザーズガイド
オラクルエンジニア通信
 
No sql
No sqlNo sql
No sql
Sparsa Roychowdhury
 
SQL locks-presentation
SQL locks-presentationSQL locks-presentation
SQL locks-presentation
Nuzhat Bhat
 
TiDBのトランザクション
TiDBのトランザクションTiDBのトランザクション
TiDBのトランザクション
Akio Mitobe
 
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura
Insight Technology, Inc.
 
Dbms interview questions
Dbms interview questionsDbms interview questions
Dbms interview questions
ambika93
 
database-stucture-and-space-managment.ppt
database-stucture-and-space-managment.pptdatabase-stucture-and-space-managment.ppt
database-stucture-and-space-managment.ppt
Iftikhar70
 
Data definition language (ddl)
Data definition language (ddl)Data definition language (ddl)
Data definition language (ddl)
Dex Winadha
 
Accenture informatica interview question answers
Accenture informatica interview question answersAccenture informatica interview question answers
Accenture informatica interview question answers
Sweta Singh
 
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Edureka!
 
İleri Seviye T-SQL Programlama - Chapter 14
İleri Seviye T-SQL Programlama - Chapter 14İleri Seviye T-SQL Programlama - Chapter 14
İleri Seviye T-SQL Programlama - Chapter 14
Cihan Özhan
 
9. index and index organized table
9. index and index organized table9. index and index organized table
9. index and index organized table
Amrit Kaur
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
Kouhei Sutou
 
Introduction to oracle database (basic concepts)
Introduction to oracle database (basic concepts)Introduction to oracle database (basic concepts)
Introduction to oracle database (basic concepts)
Bilal Arshad
 

Similar to Introduction to Fauna (20)

Ldap
LdapLdap
Ldap
Higher Private School of Engineering and Technology
 
Big data
Big dataBig data
Big data
Subha Selvam
 
Free Hibernate Tutorial | VirtualNuggets
Free Hibernate Tutorial  | VirtualNuggetsFree Hibernate Tutorial  | VirtualNuggets
Free Hibernate Tutorial | VirtualNuggets
Virtual Nuggets
 
Selecting best NoSQL
Selecting best NoSQL Selecting best NoSQL
Selecting best NoSQL
Mohammed Fazuluddin
 
Lokijs
LokijsLokijs
Lokijs
Joe Minichino
 
ORDBMS Comparative Report
ORDBMS Comparative ReportORDBMS Comparative Report
ORDBMS Comparative Report
erawat
 
OpenProdoc Overview
OpenProdoc OverviewOpenProdoc Overview
OpenProdoc Overview
jhierrot
 
MongoDB as Search Engine Repository @ MongoTokyo2011
MongoDB as Search Engine Repository @ MongoTokyo2011MongoDB as Search Engine Repository @ MongoTokyo2011
MongoDB as Search Engine Repository @ MongoTokyo2011
Preferred Networks
 
Ldap system administration
Ldap system administrationLdap system administration
Ldap system administration
Ali Abdo
 
Azure DocumentDB 101
Azure DocumentDB 101Azure DocumentDB 101
Azure DocumentDB 101
Ike Ellis
 
Database management-system
Database management-systemDatabase management-system
Database management-system
kalasalingam
 
Azure CosmosDB
Azure CosmosDBAzure CosmosDB
Azure CosmosDB
Fernando Mejía
 
D2 rq
D2 rqD2 rq
D2 rq
Shiv Kumar Ganesh
 
Rise of NewSQL
Rise of NewSQLRise of NewSQL
Rise of NewSQL
Sushant Choudhary
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
Nimat Khattak
 
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CloudIDSummit
 
Brief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas moslehBrief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas mosleh
Fas (Feisal) Mosleh
 
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
RushikeshChikane2
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DB
Mohit Chhabra
 
Couchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionCouchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
Kelum Senanayake
 
Free Hibernate Tutorial | VirtualNuggets
Free Hibernate Tutorial  | VirtualNuggetsFree Hibernate Tutorial  | VirtualNuggets
Free Hibernate Tutorial | VirtualNuggets
Virtual Nuggets
 
ORDBMS Comparative Report
ORDBMS Comparative ReportORDBMS Comparative Report
ORDBMS Comparative Report
erawat
 
OpenProdoc Overview
OpenProdoc OverviewOpenProdoc Overview
OpenProdoc Overview
jhierrot
 
MongoDB as Search Engine Repository @ MongoTokyo2011
MongoDB as Search Engine Repository @ MongoTokyo2011MongoDB as Search Engine Repository @ MongoTokyo2011
MongoDB as Search Engine Repository @ MongoTokyo2011
Preferred Networks
 
Ldap system administration
Ldap system administrationLdap system administration
Ldap system administration
Ali Abdo
 
Azure DocumentDB 101
Azure DocumentDB 101Azure DocumentDB 101
Azure DocumentDB 101
Ike Ellis
 
Database management-system
Database management-systemDatabase management-system
Database management-system
kalasalingam
 
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CIS13: A Breakthrough in Directory Technology: Meet the Elephant in the Room ...
CloudIDSummit
 
Brief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas moslehBrief introduction to NoSQL by fas mosleh
Brief introduction to NoSQL by fas mosleh
Fas (Feisal) Mosleh
 
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
RushikeshChikane2
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DB
Mohit Chhabra
 
Couchbase - Yet Another Introduction
Couchbase - Yet Another IntroductionCouchbase - Yet Another Introduction
Couchbase - Yet Another Introduction
Kelum Senanayake
 
Ad

Recently uploaded (20)

EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
LLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bertLLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bert
ChadapornK
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
VKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptxVKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
Vinod Srivastava
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
Data Science Courses in India iim skills
Data Science Courses in India iim skillsData Science Courses in India iim skills
Data Science Courses in India iim skills
dharnathakur29
 
How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136
illuminati Agent uganda call+256776963507/0741506136
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Deloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit contextDeloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit context
Process mining Evangelist
 
Minions Want to eat presentacion muy linda
Minions Want to eat presentacion muy lindaMinions Want to eat presentacion muy linda
Minions Want to eat presentacion muy linda
CarlaAndradesSoler1
 
Principles of information security Chapter 5.ppt
Principles of information security Chapter 5.pptPrinciples of information security Chapter 5.ppt
Principles of information security Chapter 5.ppt
EstherBaguma
 
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
Simran112433
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbbEDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
EDU533 DEMO.pptxccccvbnjjkoo jhgggggbbbb
JessaMaeEvangelista2
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
LLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bertLLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bert
ChadapornK
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
VKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptxVKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
Vinod Srivastava
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
Data Science Courses in India iim skills
Data Science Courses in India iim skillsData Science Courses in India iim skills
Data Science Courses in India iim skills
dharnathakur29
 
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
Safety Innovation in Mt. Vernon A Westchester County Model for New Rochelle a...
James Francis Paradigm Asset Management
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
Deloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit contextDeloitte Analytics - Applying Process Mining in an audit context
Deloitte Analytics - Applying Process Mining in an audit context
Process mining Evangelist
 
Minions Want to eat presentacion muy linda
Minions Want to eat presentacion muy lindaMinions Want to eat presentacion muy linda
Minions Want to eat presentacion muy linda
CarlaAndradesSoler1
 
Principles of information security Chapter 5.ppt
Principles of information security Chapter 5.pptPrinciples of information security Chapter 5.ppt
Principles of information security Chapter 5.ppt
EstherBaguma
 
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
Simran112433
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
Ad

Introduction to Fauna

  • 1. Introduction to FaunaDB A Presentation for DB security course at Sharif University of Technology Introduction to FaunaDB 1 Presenters: Ali Alaei Yousef Javaherian Course instructor: Sadegh Dorri Nogoorani January 2022 IN THE NAME OF GOD
  • 2. Overview 1. What is FaunaDB? 2. Why FaunaDB? 3. Comparison To Traditional RDBMS 4. A very quick intro to FQL • Structure • Basic CRUD operations • Index Introduction to FaunaDB 2
  • 3. What is FauaDB? FaunaDB is a next-generation cloud database that combines the simplicity of NoSQL, without sacrificing the ability to model complex relationships. Introduction to FaunaDB 3
  • 4. Why FaunaDB? Introduction to FaunaDB 4 • SQL(safety, security and consistency)+NOSQL(flexibility, productivity and scalability) • Global Serverless database • Web-native GraphQL interface • ACID (Atomicity, Consistency, Isolation, Durability) • Enable you to simplify code, reduce costs and ship faster • Fine-grained security • Multi-Model interface
  • 5. Different data modeling • Graph • Relational • Temporal • Document Introduction to FaunaDB 6
  • 6. Fauna: best of both the relational and NoSQL worlds Introduction to FaunaDB 7 Feature Description Strong ACID Transactions FaunaDB guarantees 100% ACID transactions across a distributed database cluster. Native Multi-tenancy FaunaDB has built-in quality of service (QoS) capabilities that allow multiple tenants to co- exist without any noisy neighbor issues. FaunaDB is great for SaaS applications. Scalability FaunaDB can scale from a single node install to an enterprise-grade setup across multiple data centers with no downtime. The management of the database is completely transparent to the application. High Availability FaunaDB’s peer-to-peer/masterless architecture provides a seamless response to any node failure or data center outage. Operational Simplicity Operational simplicity is at the core of FaunaDB. Unlike incumbent NoSQL solutions, FaunaDB’s rich cluster management APIs makes cluster setup a breeze. Security FaunaDB provides identity management, row-level access control, transaction auditing, and encryption in motion and encryption at rest coming soon. Document Relational Features FaunaDB supports various application programming languages with built-in drivers. A single query in FaunaDB (FQL) can pull data across documents, relational graph, and temporal datasets.
  • 8. What does relational mean to different database operators? Introduction to FaunaDB 9
  • 9. The relational checklist in FaunaDB Introduction to FaunaDB 10 Feature Description Structure FaunaDB provides the flexibility of NoSQL databases when it comes to schema design. At the same time, like relational databases with indexes and the (soon to be added) class validators, FaunaDB enforces structure and defined access patterns to the data. FaunaDB stores data as documents (rows) in the database. Integrity Fauna DB supports the creation of Primary keys and will soon be able to enforce Foreign keys. Joins FaunaDB supports equi-joins and other set operations like union, intersect, minus, etc. across classes. Support for outer joins is on the roadmap. Indexes FaunaDB supports the creation of various types of Indexes. Indexes are used to define the access path to data. ACID FaunaDB fully supports transactions and provides strong consistency. Query Language Fauna Query Language (FQL) allows for complex, precise manipulation and retrieval of data stored within FaunaDB. Enterprise Readiness FaunaDB not only solves the problem of scale, but all the problems adjacent to scale like security, compliance, global distribution, consistency, multi-tenancy, and more.
  • 10. Postgres vs Fauna Introduction to FaunaDB 11 Postgres Fauna Explanation Row or record Document An individual record in the database. Table Collection A container for documents. Replication Replication Fauna’s replication is semi-synchronous and does not require any operator management. Sharding n/a Fauna does not require the operator to manage sharding or partitioning in any way. Primary key Ref The unique identifier of a document. Foreign key Ref A pointer from one document to another. Index, materialized view Index Fauna merges the concepts of indexes and views. Indexes must be explicitly referenced, similar to the concept of hinting. Transaction Transaction Both Postgres and Fauna support ACID transactions. Schema, database Database Both Postgres and Fauna have a concept of logical databases that include schema (also known as DDL) records describing the collections, indexes, and security properties of the included records. Stored procedure, user-defined function Function Fauna supports user-defined functions written in FQL.
  • 11. A very quick intro to FQL Introduction to FaunaDB 12
  • 13. Documents(like row in RDMS) Documents: • The smallest units of data in Fauna are schemeless documents • Stored like json • A group of documents create a collections Introduction to FaunaDB 15
  • 14. Collection(like table in RDMS) Introduction to FaunaDB 16
  • 15. Basic CRUD operations(1/2) Introduction to FaunaDB 17 Replace maybe used too
  • 16. Basic CRUD operations (2/2) Introduction to FaunaDB 18
  • 17. Index(like views in RDBMS) With indexes you can:  enforce unique constraints  sort and filter results  create computed values from document data Introduction to FaunaDB 19
  • 19. Thanks! Sayed Ali Alaei Tabatabaei [email protected] [email protected] Introduction to FaunaDB 21