NoSQL And Python
Amol Gupta @amolgupta Harsh Vachhani @harshvachhani
Topics Covered
NoSQL
Need for change What is NoSQL Pros and cons
PyMongoDB Introduction Tutorial
The Motivation!
RDBMS
was fine for small applications Huge amount of data. Tables can not be used for everything.
RDBMS Approach
Solution
Classification
Wide Column Store / Column Families Document Store Key Value / Tuple Store Graph Databases Object Databases XML Databases
Python Compatible: MongoDB, Keyspace, Hypertable, Objectivity, Perst
SWOT-Analysis
Strengths
uninterrupted access/high availability Scalability Security and flexibility Freedom to choose
Continued
Weakness
Porting the applications No Normalization, unions or joins lost updates
Opportunities Huge investments Data Intensive applications Threats FOSS business model FUD amongst Users
Document-Oriented Storage Faster Updates Replication and High Availability Rich Queries Map Reduce GridFS Multiple language and platforms supported Commercial Support
#All Images used are registered trademarks of the respective companies
Pymongo
Python
distribution containing tools for working with MongoDB distribution contains three toplevel packages for interacting with MongoDB
Pymongo
Quick Start
Installation:
$ easy_install pymongo
Usage:
Start mongod instance $ mongod Making a connection >> from pymongo import Connection() >> connection = Connection()
Querying and Commands
Getting
or Creating
Database Collection Documents
Insert
Single Bulk
Querying and Commands...
Search
find_one() fetching single document find() more than one Range queries count()
Indexing
Questions?
References
http://nosql-database.org/ http://www.mongodb.org/
Thank You