Upload
noppanit-charassinvichai
View
463
Download
0
Tags:
Embed Size (px)
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/