NoSQL

Preview:

DESCRIPTION

Just my

Citation preview

NoSQL?

Buzz Words...

http://developers.facebook.com/docs/concepts/opengraph/

Facebook Open Graph

The Knowledge Graphhttp://www.google.com/insidesearch/features/search/knowledge.html

Big Data?http://martinfowler.com/articles/bigData/

Polyglot Persistence?http://martinfowler.com/articles/nosql-intro.pdf

Basic Architecture

Performance?

Data Virtualisation?

Graph Database

Graph Database

Relational Database

SELECT DISTINCT name AS my_friendFROM FriendOfFriend.Friend f,

FriendOfFriend.MyFriend my_fWHERE f.id = my_f.friend_id_1 and my_id = 1

Who are my friends?

What about who are my friends of a friend?

What about who are my friends of a friend that also like the

same thing I like?

What would it be in NEO4J?(CYPHER)

START me=node(10)MATCH me-[:friend]-friend-[:friend]-friend_of_friend

RETURN friend_of_friend

•It feels natural

•Fast in highly connected data (embedded)

Why Graph Database?

Examplehttps://github.com/noppanit/eventify

http://www.kaggle.com/c/event-recommendation-engine-challenge

Example

More?

NoDBAhttp://martinfowler.com/bliki/NoDBA.html

BUT!

•Don’t use it because it’s COOL!

•NoSQL should be also considered when appropriate, do not just go for relational databases

•It’s not really schema-less, the schema is in the code

•We still need DBAs.

Things to remember!

References

• http://www.slideshare.net/tackers/why-we-chose-mongodb-for-guardiancouk

• http://www.rapidftr.com/

Recommended