Upload
roshan-bhandari
View
120
Download
0
Tags:
Embed Size (px)
DESCRIPTION
This presentation was done at python developers meetup in kathmandu. It focuses on 3 core parts General Introduction to NoSQL database, Python implementation tools and libraries and then implementation at our company.
Citation preview
NoSQL Database and PythonRoshan Bhandari
Co-Founder, Phunka Technologies
NoSQL Humor3 RDBAs walk into a NoSQL bar. They can’t open the door … Do you know why?
3 RDBAs walk into a NoSQL bar. They manage to enter anyhow but they leave … Do you know why?
SQL and NoSQL
Structured Query Language NoSQL or Not Only SQL
work on predefined schema schema-free
Relational non-relational
joins no joins
vertical scaling and distribution very tedious
horizontally scalable and distributed
Transactions and ACID property eventually consistent / BASE (sometimes ACID like in Graph)
● Scalable ● High-Performance● Open-source● Document-oriented
database ● developed by 10Gen.
Document Oriented Database
Understanding the Document Modelvar p = {
‘_id’: ‘3432’,
‘title’: ‘Python Develeoper Meetup 4’,
‘presentations’: [
{
‘name’:’NoSQL Database and Python’, ‘presenter’:Roshan Bhandari
},
{
‘name’:’Natural Language Processing’,
‘presenter’:’Chandan Gupta’
}
]
}
> db.posts.save(p);
> db.posts.find({‘title’:’ Python Develeoper Meetup 4’’})
Cool features of MongoDb● Index on each
fields in each documents and collections,
● Geo-spatial Indexes for Geo-spatial queries. $near, $within_distance, Bound queries (circle, box),
● Full Text Indexing and Search
Graph DB
Python Connectors for MongoDb
PyMongo- PyMongo is a Python distribution containing tools for working with MongoDB, and is the recommended way to work with MongoDB from Python.
- ORM-like layer on top of PyMongo.
Python Connectors for Neo4j
neo4djangopy2neo
Python Connectors for DynamodbBoto
An integrated interface to current and future infrastructural services offered by Amazon Web Services.
DynamodbMapper DynamoDB is a minimalistic NoSQL engine provided by Amazon as a part of their AWS product.
Our NoSQL projects at Phunka
Food Search Engine ● Aggregating Food related Data from
○ Twitter○ Google Places○ Facebook ○ FSA UK○ and many other api
● Using MongoDb to store and index data● Make a real time search engine for food
MatchMaking and Dating for Food Traders (still in research phase)
● Trying to use Neo4j to making recommendation engine
● Aggregating millions of tweets every day.
● Saving them in MongoDb since tweets are in json and it becomes easy to dump them into db.
● Denormalization helps to find related hashtags in real time.
● Utilizing FlipKarma dump data from mysql to use Neo4j to make project recommendations based on
○ Search data○ view data○ uploaded project
categories○ friend’s projects○ likes and comments
Using Mongodb to:-
● for agile development with easy database migration
● denormalization for better analytics
● storing 100s of user’s daily activity logs for analytics
We are hiring:-
-If you are python and nosql enthusiast or expert- if you have experience in mapping data
Then You are welcomed to our team- to do cool stuffs with us- learn and enjoy being a startup
Thank you for listening me carefully :-)
Questions?