Perbedaan Dengan Database Relasional

advertisement
No SQL Database
Astharina W 7408040036
Archi W
7408040048
Mas Dodik 7408040059
Outlines






Apa itu No Sql Database ?
Sejarah dan perkembangan
Mengapa Menggunakan No Sql Database
Klasifikasi No SQL Database
Perbedaan SQL dan No SQL Database
Etc.
Apa Itu No SQL Database
Dapat juga disebut “Not Only SQL” adalah sistem manajemen
database alternatif yang berbeda jauh dari model tradisional
dari sistem manajemen database relasional (RDBMS) ataupun
sistem manajemen database berbasis object(ODBMS).
Penyimpanan data ini tidak memerlukan skema tabel tetap,
biasanya menghindari joins operation dan skala horizontal,
merupakan open source, cara penyimpanannya- pun tidak
memerlukan inisialisasi terlebih dahulu.
Dalam arti luas,cara penyimpanan data yang tidak menggunakan
sql atau database relasional untuk menyimpan data.
Di Populerkan oleh website besar seperti Google dan Facebook.
Sejarah dan Perkembangan NoSql



Coined in 1998 by Carlos Strozzi to describe a
database that did not expose a SQL interface
In 2008, Eric Evans reintroduced the term to
describe the growing non-RDBMS movement
Popularized by large web sites such as Google,
Facebook and Digg
http://en.wikipedia.org/wiki/NoSQL_%28RDBMS%29
Sejarah dan Perkembangan NoSql
- Perkembangan dari situs media sosial (Facebook, Twitter)
dengan kebutuhan data yang besar.
- Kebutuhan akan penyimpanan data yang besar di situs web
besar seperti Google, Yahoo ( Banyak data yang tidak file ).
- Munculnya solusi berbasis cloud seperti Amazon S3 (solusi
penyimpanan yang sederhana)
- Untuk tipe data dinamis dengan seringnya perubahan skema.
- Komunitas open-source.
Sejarah dan Perkembangan NoSql

Ada tiga bahasan besar yang mendorong
perkembangan NoSql :
– BigTable (Google)
– Dynamo (Amazon)
– CAP Theorem
No Sql Database Karakteristik









Large data volumes
– Google’s “big data”
Queries need to return answers quickly
Mostly query, few updates
Asynchronous Inserts & Updates
Schema-less
ACID transaction properties are not needed
BASE transaction
CAP Theorem
Open source development
Transactions – ACID Properties




Atomic – All of the work in a transaction completes (commit)
or none of it completes
Consistent – A transaction transforms the database from
one consistent state to another consistent state. Consistency
is defined in terms of constraints.
Isolated – The results of any changes made during a
transaction are not visible until the transaction has
committed.
Durable – The results of a committed transaction survive
failures
BASE Transactions

Acronym contrived to be the opposite of ACID
–
–
–

Basically Available,
Soft state,
Eventually Consistent
Characteristics
–
–
–
–
–
–
Weak consistency – stale data OK
Availability first
Best effort
Approximate answers OK
Aggressive (optimistic)
Simpler and faster
Keuntungan






Cheap, easy to implement (open source)
Data are replicated to multiple nodes (therefore identical and
fault-tolerant) and can be partitioned
– Down nodes easily replaced
– No single point of failure
Easy to distribute
Don't require a schema
Can scale up and down
Relax the data consistency requirement (CAP)
NoSQL Products






Cassandra
CouchDB
Hadoop & Hbase
MongoDB
StupidDB
Etc.
Perbandingan Beberapa Aplikasi
NoSQL DataBase
Perbandingan Beberapa Aplikasi
NoSQL DataBase
Perbandingan Beberapa Aplikasi
NoSQL DataBase
Klasifikasi No Sql Database
Discussing NoSQL databases is complicated because
there are a variety of types:
 Column Store – Each storage block contains data
from only one column
 Document Store – stores documents made up of
tagged elements
 Key-Value Store – Hash table of keys
Klasifikasi No Sql Database





XML Databases
Graph Databases
Codasyl Databases
Object Oriented Databases
Distributed Peer Stores
2 Garis Besar NoSql

NoSQL solutions fall into two major areas:
–
Key/Value or ‘the big hash table’.



–
Amazon S3 (Dynamo)
Voldemort
Scalaris
Schema-less which comes in multiple flavors, columnbased, document-based or graph-based.




Cassandra (column-based)
CouchDB (document-based)
Neo4J (graph-based)
HBase (column-based)
Key/Value
Pros:
–
–
–
–
very fast
very scalable
simple model
able to distribute horizontally
Cons:
- many data structures (objects) can't be easily modeled
as key value pairs
Schema-Less
Pros:
- Schema-less data model is richer than key/value pairs
- eventual consistency
- many are distributed
- still provide excellent performance and scalability
Cons:
- typically no ACID transactions or joins
Perbedaan Dengan Database Relasional

Relational
–
Insert data


$sql = "INSERT INTO `$tbl` SET `login` = 'coba1', `password` =
'0c50a2d250b30bf01aa0fabf782cb448', `email` =
'[email protected]'"; mysql_query($sql);
No Sql (MongoDB)
–
Insert data

db.mahasiswa.save({nama:’FadliSaldi’,NPM:’18109015′,jurus
an:’Sistem Informasi’,Fakultas:’Ilmu Komputer’})
Perbedaan Dengan Database
Relasional

SQL Databases
–
–
–
–

Predefined Schema
Standard definition and interface language
Tight consistency
Well defined semantics
NoSQL Database
–
–
–
No predefined Schema
Per-product definition and interface language
Getting an answer quickly is more important than getting a
correct answer
Perbedaan Dengan Database
Relasional

MySQL > 50 GB Data
–
–

Writes Average : ~300 ms
Reads Average : ~350 ms
NoSQL > 50 GB Data
–
–
Writes Average : 0.12 ms
Reads Average : 15 ms
Haruskah Menggunakan No SQL Database ?
-
-
Untuk kita semua menggunakan database relasional
seperti biasanya mungkin adalah pilihan yang paling
tepat.
Sistem penyimpanan data menggunakan No Sql
database cocok untuk aplikasi yang membutuhkan
data tak terstruktur yang sangat besar,seperti :
–
–
Log Analysis
Social Networking Feeds
Introducing MongoDB


Open source, document-oriented database
10gen supports official drivers for many
platforms, but not .NET!
Introducing MongoDB



Documents in a MongoDB database are stored in
schema-less collections
Documents are stored in BSON (Binary JSON)
Each item in a collection has a unique (primary) key
called an ObjectId
MongoDB – Kelebihan




Memberikan primary key secara otomatis
Mendukung replikasi yang berguna bagi web
yang memiliki trafik yang tinggi seperti :
portal berita,forum,blog,dll.
Mendukung sharding yang digunakan pada
data yang sudah mencapai juta giga.
Mendukung model pemrograman
MapReduce
Instalasi mongodb di windows




Download the binaries from mongodb.org
Extract to Program Files directory (or wherever)
Create a directory c:\data\db
Run mongod.exe from the command line with the
install switch
Mongodb shell

Connect to a server:port/database (defaults are localhost:27017/test ):
Mongodb shell cntd

Insert an item into a collection
Mongodb shell cntd

Find items in a collection:
Mongodb shell cntd

Update an item in a collection
Mongodb shell cntd

Remove an item in collection
Web References



“NoSQL -- Your Ultimate Guide to the Non - Relational
Universe!”
http://nosql-database.org/links.html
“NoSQL (RDBMS)”
http://en.wikipedia.org/wiki/NoSQL
http://www.mongodb.org
Download