no sql database and python -- presentation done at python developer's meetup 4 (kathmandu)

22
NoSQL Database and Python Roshan Bhandari Co-Founder, Phunka Technologies

Upload: roshan-bhandari

Post on 10-May-2015

120 views

Category:

Software


0 download

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.

TRANSCRIPT

Page 1: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

NoSQL Database and PythonRoshan Bhandari

Co-Founder, Phunka Technologies

Page 2: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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?

Page 3: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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)

Page 4: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)
Page 5: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)
Page 6: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)
Page 7: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

● Scalable ● High-Performance● Open-source● Document-oriented

database ● developed by 10Gen.

Document Oriented Database

Page 8: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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’’})

Page 9: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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

Page 10: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

Graph DB

Page 11: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)
Page 12: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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.

Page 13: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

Python Connectors for Neo4j

neo4djangopy2neo

Page 14: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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.

Page 15: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

Our NoSQL projects at Phunka

Page 16: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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

Page 17: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

● 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.

Page 18: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

● 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

Page 19: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

Using Mongodb to:-

● for agile development with easy database migration

● denormalization for better analytics

● storing 100s of user’s daily activity logs for analytics

Page 20: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

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

Page 21: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

Thank you for listening me carefully :-)

Page 22: No sql database and python -- Presentation done at Python Developer's meetup 4 (Kathmandu)

Questions?