Python programming databasing
|
|
|
- Estella Jenkins
- 9 years ago
- Views:
Transcription
1 Finn Årup Nielsen DTU Compute Technical University of Denmark September 22, 2014
2 Overview Pickle simple format for persistence Key/value store Persistent storage of dictionary-like objects SQL Traditional relational databases NoSQL JSON-like storage Mongo A NoSQL database CouchDB Another NoSQL database Finn Årup Nielsen 1 September 22, 2014
3 Persistence via pickle String representation of an object (Downey, 2008, section 14.7): >>> alist = [1, 2, 4] >>> import pickle >>> pickle.dumps(alist) # dump with s (lp0\ni1\nai2\nai4\na. Save the object to a file called save.pickle: pickle.dump(alist, open( save.pickle, w )) # dump without s In another Python session you can load the file: >>> import pickle >>> thelist = pickle.load(open( save.pickle )) >>> thelist [1, 2, 4] Finn Årup Nielsen 2 September 22, 2014
4 ... Persistence via pickle cpickle module in Python 2 is faster than pickle module: >>> import pickle, cpickle >>> from time import time as t # or import clock as t for CPU time >>> a = range(100000) >>> t1 = t(); pickle.dump(a, open( save.pkl, w )); t() - t >>> t1 = t(); cpickle.dump(a, open( save.pkl, w )); t() - t >>> t1 = t(); cpickle.dump(a, open( save.pkl, w ), 2); t() - t The last cpickle example uses a faster protocol for encoding. Note: Not all Python code can be pickled directly Finn Årup Nielsen 3 September 22, 2014
5 Why not use JSON for persistence? For simple Python objects you can also use JSON >>> import cpickle >>> import json >>> from time import time as t # or import clock as t for CPU time >>> a = range(100000) >>> t1 = t(); cpickle.dump(a, open( save.pkl, w )); t() - t >>> t1 = t(); json.dump(a, open( save.json, w )); t() - t though in this case JSON is a bit slower, but other programs than Python can read it, and reading a apparently faster (for default protocol) >>> t1 = t(); b = cpickle.load(open( save.pkl )); t() - t >>> t1 = t(); c = json.load(open( save.json )); t() - t Finn Årup Nielsen 4 September 22, 2014
6 Why not use JSON for persistence? Insecure against erroneous or maliciously constructed data, e.g., Nadia Alramli s example on why pickle is dangerous: import pickle pickle.loads("cos\nsystem\n(s ls ~ \ntr.") # This will run: ls ~ JSON is more secure, though cannot do (Martelli et al., 2005, sect. 7.4): >>> class MyClass():... def init (self, v): self.value = v >>> mc = MyClass(4) >>> pickle.dump(mc, open( save.pickle, w )) >>> reloaded = pickle.load(open( save.pickle )) >>> reloaded.value 4 Finn Årup Nielsen 5 September 22, 2014
7 Serialized JSON and Pickle can also be serialized and transmitted. Finn Årup Nielsen 6 September 22, 2014
8 ... Persistence via pickle What is the result of this pickle: example.pickle? (Do not unpickle files, i.e., load pickle files, from the net unless you trust them!) Finn Årup Nielsen 7 September 22, 2014
9 Persistent dictionary Simple Python-based persistent dictionary with shelve: >>> import shelve >>> she = shelve.open( test.she, c ) >>> she[ stupid ] = -3 >>> she[ funny ] = 3 >>> she.close() In another later Python session the stored items can be accessed: >>> import shelve >>> she = shelve.open( test.she, c ) >>> for k, v in she.items():... print k, v funny 3 stupid -3 Finn Årup Nielsen 8 September 22, 2014
10 Other key/value store Berkeley DB (here with Evolution addressbook): >>> import bsddb # Release 4 >>> filename =.evolution/addressbook/local/system/addressbook.db >>> db = bsddb.hashopen(filename, r ) # Open for reading >>> for k, v in db.iteritems(): print("%s --> %s" % (k, v)) pas-id-469f320f > BEGIN:VCARD VERSION:3.0 ;TYPE=WORK:[email protected] X-EVOLUTION-BLOG-URL: >>> db.close() # Close the database Finn Årup Nielsen 9 September 22, 2014
11 shelve manipulation What is the sum of the values where the initial letter in the keys are a in this shelve: example.shelve? Finn Årup Nielsen 10 September 22, 2014
12 SQL Python overview Python can work with relational database management systems, such as MySQL, PostgreSQL (both client-server-based) and SQLite (lightweight) The databases can be accessed by: 1. Specialized modules: MySQLdb, psycocg and sqlite. Because these modules implement the DB API 2.0 standard the interfaces are similar. 2. Generic connectivity with ODBC: pyodbc 3. With an object-relational mapper (mediator between Python classes and SQL tables): sqlobject (simple) sqlalchemy (more complex) and models in the Django web framework (from django.db import models),... On top of SQLAlchemy: elixir. Finn Årup Nielsen 11 September 22, 2014
13 DB API 2.0-like SQL connectivity steps import database module connect to the database Acquire cursor. With connection.cursor() execute SQL statement. With execute(), executemany() or executescript() fetch the results. With fetchone(), fetchmany() or fetchall() commit changes. connection.commit() close connection. Use connection.close() or the with keyword. Finn Årup Nielsen 12 September 22, 2014
14 DB API 2.0-like SQL connectivity Import module and get a connection. For SQLite no host, user and password is necessary to get a connection, the database is just a single file. >>> from pysqlite2 import dbapi2 as db >>> connection = db.connect("courses.sqlite") Get cursor and create a table called courses in the SQL database with an SQL statement issued with the execute method: >>> cursor = connection.cursor() >>> cursor.execute("""create TABLE courses ( number CHAR(5) PRIMARY KEY, name CHAR(100), ects FLOAT);""") Finn Årup Nielsen 13 September 22, 2014
15 Python SQL Insertion Insert some explicit data into the courses table: >>> cursor.execute("""insert INTO courses VALUES ("02820", "Python programming", 5);""") >>> connection.commit() Parameterized input with a Python variable (courses): >>> courses = ("02457", "Nonlinear Signal Processing", 10) >>> cursor.execute("insert INTO courses VALUES (?,?,?);", courses) >>> connection.commit() Parameterized insertion of multiple rows with executemany: >>> courses = [("02454", "Introduction to Cognitive Science", 5), ("02451", "Digital Signal Processing", 10)] >>> cursor.executemany("insert INTO courses VALUES (?,?,?);", courses) >>> connection.commit() Finn Årup Nielsen 14 September 22, 2014
16 Python SQL fetching data Return one row at a time with fetchone: >>> cursor.execute("select * FROM courses;") >>> cursor.fetchone() (u 02820, u Python programming, 5.0) Or use the cursor as iterator: >>> cursor.execute("select * FROM courses;") >>> for row in cursor: print(row) # The 4 rows are printed Get all returned data into a Python variable >>> cursor.execute("select * FROM courses ORDER BY number LIMIT 2;") >>> c = cursor.fetchall() [(u 02451, u Digital Signal Processing, 10.0), (u 02454, u Introduction to Cognitive Science, 5.0)] Finn Årup Nielsen 15 September 22, 2014
17 Python SQL paramstyle differences With pysqlite, tuple and question mark: >>> param = { ects : 10.0} >>> cursor.execute("select name FROM courses WHERE ects =?", (param[ ects ],)) >>> cursor.fetchall() [(u Nonlinear Signal Processing,), (u Digital Signal Processing,)] Equivalent query with pysqlite, dictionary and named parameter: >>> cursor.execute("select name FROM courses WHERE ects = :ects", param) With MySQLdb, tuple and %s >>> cursor.execute("select name FROM courses WHERE ects = %s", (param[ ects ],)) Finn Årup Nielsen 16 September 22, 2014
18 Bad and dangerous use of SQL!!! >>> from pysqlite2 import dbapi2 as db >>> connection = db.connect("test.sqlite") >>> cursor = connection.cursor() >>> cursor.execute("create TABLE students ( password, name );") >>> cursor.execute("""insert INTO students VALUES ("1234", "Finn");""") >>> cursor.execute("""select * FROM students;""") >>> cursor.fetchall() [(u 1234, u Finn )] >>> pw = dummy", (SELECT password FROM students WHERE name = "Finn")); -- >>> name = "dummy" >>> sql = INSERT INTO students VALUES ("%s", "%s"); % (pw, name) >>> cursor.execute(sql) >>> cursor.execute( SELECT * FROM students; ) >>> cursor.fetchall() [(u 1234, u Finn ), (u dummy, u 1234 )] # Password revealed in name! (And don t store literal passwords in databases hash it) Finn Årup Nielsen 17 September 22, 2014
19 sqlite manipulation An sqlite file contains a table called data with columns value and type. What is the average of the value s conditioned on the type for this sqlite file: example.sqlite? Finn Årup Nielsen 18 September 22, 2014
20 Object-relational mapping One-to-one mapping between Python class and SQL table. from sqlobject import * import os connection = sqlite: + os.path.abspath( politicians.sqlite ) class Politician(SQLObject): name = UnicodeCol(length=60, notnone=true) partyletter = UnicodeCol(length=1) votes = IntCol() birthday = DateCol() Create table: Politician.createTable() Now the politicians.sqlite SQLite database file has been written. Finn Årup Nielsen 19 September 22, 2014
21 Insert a couple of politicians in the database: >>> Politician(name=u"Lars Løkke Rasmussen", partyletter="v", votes=21384, birthday=" ") >>> Politician(name=u"Villy Søvndal", partyletter="f", votes=33046, birthday=" ") >>> Politician(name=u"Pia Kjærsgaard", partyletter="o", votes=47611, birthday=" ") There is an id INT PRIMARY KEY AUTO_INCREMENT column added. Simple data fetch based on the id: >>> Politician.get(1).name u Lars L\xf8kke Rasmussen Select with condition on Politicians: >>> [p.name for p in Politician.select(Politician.q.votes > 30000, orderby=politician.q.birthday)] [u Pia Kj\xe6rsgaard, u Villy S\xf8vndal ] Finn Årup Nielsen 20 September 22, 2014
22 Another example with numerical aggregation (summing, averaging): import os from sqlobject import * connection = sqlite: + os.path.abspath( pima.db ) class Pima(SQLObject): npreg = IntCol() bmi = FloatCol() type = EnumCol(enumValues=["Yes", "No"]) Pima.createTable() Pima(npreg=6, bmi=33.6, type="yes") Pima(npreg=1, bmi=26.6, type="no") Pima(npreg=1, bmi=28.1, type="no") Finn Årup Nielsen 21 September 22, 2014
23 >>> Pima.selectBy(type= No ).avg( bmi ) More complex queries are not necessarily pretty: >>> c = Pima._connection >>> c.queryall("select AVG(npreg), AVG(bmi), type FROM pima GROUP BY type") [(1.0, 27.35, No ), (6.0, 33.6, Yes )] The complex query using sqlbuilder: >>> from sqlobject.sqlbuilder import * >>> select = Select([func.AVG(Pima.q.npreg), func.avg(pima.q.bmi), Pima.q.type], groupby=pima.q.type) >>> query = Pima.sqlrepr(select) >>> Pima._connection.queryAll(query) [(1.0, 27.35, No ), (6.0, 33.6, Yes )] Finn Årup Nielsen 22 September 22, 2014
24 Which ORM? Finn Årup Nielsen 23 September 22, 2014
25 NoSQL NoSQL = Databases with no SQL functionality Examples: CouchDB, MongoDB, Cassandra,... May have good capabilities for replication, high availability, sharding.. May lack more than simple query mechanisms.. (You can have NoSQL functionality in SQL databases) Finn Årup Nielsen 24 September 22, 2014
26 MongoDB MongoDB, stores JSON-like objects.. 2GB limitation on 32-bit platforms.. $ mongod & # The database server $ mongo # The database client ( test database default) > use test > book = { title : "Kongens Fald", author : "Johannes V. Jensen" } > db.books.save(book) > book = { title : "Himmerlandshistorier", author : "Johannes V. Jensen" } > db.books.save(book) > book = { title : "Eventyr", author : "H. C. Andersen" } > db.books.save(book) Finn Årup Nielsen 25 September 22, 2014
27 MongoDB query > db.books.find() # Find all { "_id" : ObjectId("4c82a97c6600b82f5cdcb93b"), "title" : "Kongens Fald", "author" : "Johannes V. Jensen" } { "_id" : ObjectId("4c82a98c6600b82f5cdcb93c"), "title" : "Himmerlandshistorier", "author" : "Johannes V. Jensen" } { "_id" : ObjectId("4c82a b82f5cdcb93d"), "title" : "Eventyr", "author" : "H. C. Andersen" } > db.books.find({ author : "Johannes V. Jensen" }) # Find a specific { "_id" : ObjectId("4c82a97c6600b82f5cdcb93b"), "title" : "Kongens Fald", "author" : "Johannes V. Jensen" } { "_id" : ObjectId("4c82a98c6600b82f5cdcb93c"), "title" : "Himmerlandshistorier", "author" : "Johannes V. Jensen" } Finn Årup Nielsen 26 September 22, 2014
28 MongoDB with Python $ sudo pip install pymongo # Installation with "pip" # Installation requires "python-dev" $ mongod & # Starting server $ python # and into Python >>> import pymongo >>> connection = pymongo.connection() # help(pymongo.connection) >>> db = connection.test >>> books = db.books # "books" is a "collection" >>> book = {"title": "Kongens Fald", "author": "Johannes V. Jensen" } >>> books.insert(book) >>> morebooks = [{"title": "Himmerlandshistorier", "author": "Johannes V. Jensen" }, {"title": "Eventyr", "author": "H. C. Andersen"}, {"title": "Biblen"}] >>> books.insert(morebooks) Finn Årup Nielsen 27 September 22, 2014
29 MongoDB with Python Getting back information from the Mongo server: >>> for book in books.find():... print(book.get("author", "Missing author")) Johannes V. Jensen Johannes V. Jensen H. C. Andersen Missing author Updating a field: >>> books.update({"title": "Himmerlandshistorier"}, {"$set": {"isbn": " "}}) Finn Årup Nielsen 28 September 22, 2014
30 Twitter, Python and MongoDB (outdated) import getpass, pymongo, simplejson, urllib password = getpass.getpass() # get password for "fnielsen2" user url = " + password + \ "@stream.twitter.com/1/statuses/sample.json" connection = pymongo.connection() db = connection.twitter tweets = db.tweets for tweet in urllib.urlopen(url): oid = tweets.insert(simplejson.loads(tweet)) print(tweets.count()) As Twitter returns JSON we can directly convert it to a Python structure and further to an entry in Mongo. (Note: Twitter is changing its authentication) Finn Årup Nielsen 29 September 22, 2014
31 >>> tweets.find_one().keys() [u favorited, u retweet_count, u in_reply_to_user_id, u contributors, u truncated, u text, u created_at, u retweeted, u coordinates, u entities, u in_reply_to_status_id, u place, u source, u in_reply_to_screen_name, u _id, u geo, u id, u user ] >>> tweets.find_one()[ user ].keys() [u follow_request_sent, u profile_use_background_image, u id, u verified, u profile_sidebar_fill_color, u profile_text_color, u followers_count, u profile_sidebar_border_color, u location, u profile_background_color, u listed_count, u utc_offset, u statuses_count, u description, u friends_count, u profile_link_color, u profile_image_url, u notifications, u show_all_inline_media, u geo_enabled, u profile_background_image_url, u screen_name, u lang, u profile_background_tile, u favourites_count, u name, u url, u created_at, u contributors_enabled, u time_zone, u protected, u following ] Finn Årup Nielsen 30 September 22, 2014
32 Python MongoDB: updating a field import sys reload(sys) sys.setdefaultencoding( utf-8 ) # Load a dictionary with words scored according to how English # -3 not English, +3 English, 0 unknown or might or might not be English filename = /home/fn/fnielsen/data/nielsen2010responsible_english.csv englishwords = dict(map(lambda (k,v): (k,int(v)), [line.split() for line in open(filename)])) for tweet in tweets.find({"delete": {"$exists": False}}): englishness = sum(map(lambda word: englishwords.get(word.lower(),0), tweet[ text ].split())) tweet[ englishness ] = englishness # Add a new field oid = tweets.save(tweet) # Overwrite the element Finn Årup Nielsen 31 September 22, 2014
33 MongoDB queries in Python >>> tweets.find_one({"englishness": {"$gt": 15}})[ text ] HEY babs! could you please take one min to it would be appreciated thankyouuu:) <3 #LLWFH >>> tweets.find_one({"englishness": {"$lt": -15}})[ text ] u eu quero sorvete e shampoo mas minha mae fica enrrolando na cama e at\xe9 agora nao foi comprar.-. >>> tweets.find_one({"englishness": 0})[ text ] u"@rafiniits axo mtmtmt boom - UYSAGDYGAYSUG " See also Finn Årup Nielsen 32 September 22, 2014
34 CouchDB and Python CouchDB RESTful, JSON.. $ couchdb $ python >>> import couchdb, couchdb.schema, urllib >>> urllib.urlopen( ).read() # RESTful {"couchdb":"welcome","version":"0.10.0"}\n >>> server = couchdb.client.server() # Default >>> db = server.create( books ) >>> urllib.urlopen( ).read() ["books"]\n Inserting three books: >>> did = db.create({"author": "H. C. Andersen", "title": "Eventyr"}) >>> did = db.create({"title": "Biblen"}) >>> did = db.create({"author": "Johannes V. Jensen", "title": "Kongens Fald"}) Finn Årup Nielsen 33 September 22, 2014
35 Query CouchDB with Python Simple getting of fields: >>> for book in db: print(db[book].get("author", "Missing author")) H. C. Andersen Johannes V. Jensen Missing author Query via a map function written as a JavaScript function: >>> fun = """function(book) { if (book.author == H. C. Andersen )... emit(book._id, book) }""" >>> db.query(fun).rows[0][ value ][ title ] Eventyr Finn Årup Nielsen 34 September 22, 2014
36 CouchDB updating a field with Python >>> fun = "function(b) { if (b.title == Kongens Fald ) emit(b._id, b)}" >>> result = db.query(fun).rows[0] >>> did, book = result["key"], result["value"] >>> book["isbn"] = " " >>> db[did] = book Finn Årup Nielsen 35 September 22, 2014
37 More information Introduction to SQLAlchemy, video tutorial with Mike Bayer from Pycon Finn Årup Nielsen 36 September 22, 2014
38 Summary Pickle is the primary format for storing and serializing Python objects, and you can use pickle module or the faster cpickle module for dumping and loading. Problems with pickle is that it is for Python only and that you can have dangerous code in it. There are interfaces to database management systems Key/value store: shelve, Berkeley DB Relational databases: Either directly (e.g., by MySQLdb), or generic (pyodbc), or ORM. NoSQL access also available, e.g., MongoDB, CouchDB,... Usually a good idea to use ORM, but beware that ORM can yield large number of SQL queries from one ORM query. Finn Årup Nielsen 37 September 22, 2014
39 References References Downey, A. (2008). Think Python. Green Tea Press, Needham, Massachusetts, version edition. Martelli, A., Ravenscroft, A. M., and Ascher, D., editors (2005). Python Cookbook. O Reilly, Sebastopol, California, 2nd edition. Finn Årup Nielsen 38 September 22, 2014
Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB
21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping
Python. Data bases. Marcin Młotkowski. 8th May, 2013
Data bases 8th May, 2013 1 DBM databases 2 3 Types of data storage Trwałe słowniki Klient-serwer SQL Bekreley DB Gnu dbm (n)dbm Firebird Sqlite Oracle MySQL PostgeSQL DB/2 DBM databases Database manager
Writing MySQL Scripts With Python's DB-API Interface
Writing MySQL Scripts With Python's DB-API Interface By Paul DuBois, NuSphere Corporation (October 2001) TABLE OF CONTENTS MySQLdb Installation A Short DB-API Script Writing the Script Running the Script
Python and MongoDB. Why?
Python and MongoDB Kevin Swingler Why? Python is becoming the scripting language of choice in big data It has a library for connecting to a MongoDB: PyMongo Nice mapping betwenpython data structures and
Sharding with postgres_fdw
Sharding with postgres_fdw Postgres Open 2013 Chicago Stephen Frost [email protected] Resonate, Inc. Digital Media PostgreSQL Hadoop [email protected] http://www.resonateinsights.com Stephen
MongoDB. An introduction and performance analysis. Seminar Thesis
MongoDB An introduction and performance analysis Seminar Thesis Master of Science in Engineering Major Software and Systems HSR Hochschule für Technik Rapperswil www.hsr.ch/mse Advisor: Author: Prof. Stefan
Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB
Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what
Programming in Python V: Accessing a Database
Programming in Python V: Accessing a Database Computer Science 105 Boston University David G. Sullivan, Ph.D. Accessing a Database from Python Import the necessary Python module: import sqlite3 Connect
An extension to DBAPI 2.0 for easier SQL queries
An extension to DBAPI 2.0 for easier SQL queries Martin Blais EWT LLC / Madison Tyler http://furius.ca/antiorm/ Introduction connection = dbapi.connect(...) cursor = connection.cursor() SELECT * FROM Users
Getting Started with MongoDB
Getting Started with MongoDB TCF IT Professional Conference March 14, 2014 Michael P. Redlich @mpredli about.me/mpredli/ 1 1 Who s Mike? BS in CS from Petrochemical Research Organization Ai-Logix, Inc.
HTSQL is a comprehensive navigational query language for relational databases.
http://htsql.org/ HTSQL A Database Query Language HTSQL is a comprehensive navigational query language for relational databases. HTSQL is designed for data analysts and other accidental programmers who
Big data and urban mobility
Big data and urban mobility Antònia Tugores,PereColet Instituto de Física Interdisciplinar y Sistemas Complejos, IFISC(UIB-CSIC) Abstract. Data sources have been evolving the last decades and nowadays
Writing MySQL Scripts with Python DB-API
Writing MySQL Scripts with Python DB-API Paul DuBois [email protected] Document revision: 1.02 Last update: 2006-09-17 Python is one of the more popular Open Source programming languages, owing largely
Riding the Data Wave. New Capabilities New Techniques. Bill Chute Acadiant Limited
Riding the Data Wave New Capabilities New Techniques Bill Chute Acadiant Limited There are new challenges New technologies are on your side 2 MiFID II & MIFIR Basel III NAV Volcker VaR Dodd-Frank MAD II
MongoDB and Couchbase
Benchmarking MongoDB and Couchbase No-SQL Databases Alex Voss Chris Choi University of St Andrews TOP 2 Questions Should a social scientist buy MORE or UPGRADE computers? Which DATABASE(s)? Document Oriented
The MongoDB Tutorial Introduction for MySQL Users. Stephane Combaudon April 1st, 2014
The MongoDB Tutorial Introduction for MySQL Users Stephane Combaudon April 1st, 2014 Agenda 2 Introduction Install & First Steps CRUD Aggregation Framework Performance Tuning Replication and High Availability
NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE <[email protected]> @GEOFFLANE
NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE @GEOFFLANE WHAT IS NOSQL? NON-RELATIONAL DATA STORAGE USUALLY SCHEMA-FREE ACCESS DATA WITHOUT SQL (THUS... NOSQL) WIDE-COLUMN / TABULAR
Open Source Technologies on Microsoft Azure
Open Source Technologies on Microsoft Azure A Survey @DChappellAssoc Copyright 2014 Chappell & Associates The Main Idea i Open source technologies are a fundamental part of Microsoft Azure The Big Questions
CSCC09F Programming on the Web. Mongo DB
CSCC09F Programming on the Web Mongo DB A document-oriented Database, mongoose for Node.js, DB operations 52 MongoDB CSCC09 Programming on the Web 1 CSCC09 Programming on the Web 1 What s Different in
NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases
NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases Background Inspiration: postgresapp.com demo.beatstream.fi (modern desktop browsers without
Can the Elephants Handle the NoSQL Onslaught?
Can the Elephants Handle the NoSQL Onslaught? Avrilia Floratou, Nikhil Teletia David J. DeWitt, Jignesh M. Patel, Donghui Zhang University of Wisconsin-Madison Microsoft Jim Gray Systems Lab Presented
Enabling development teams to move fast. PostgreSQL at Zalando
Enabling development teams to move fast PostgreSQL at Zalando About us Valentine Gogichashvili Database Engineer @Zalando twitter: @valgog google+: +valgog email: [email protected] About
An Approach to Implement Map Reduce with NoSQL Databases
www.ijecs.in International Journal Of Engineering And Computer Science ISSN: 2319-7242 Volume 4 Issue 8 Aug 2015, Page No. 13635-13639 An Approach to Implement Map Reduce with NoSQL Databases Ashutosh
Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster.
MongoDB 1. Introduction MongoDB is a document-oriented database, not a relation one. It replaces the concept of a row with a document. This makes it possible to represent complex hierarchical relationships
An Open Source NoSQL solution for Internet Access Logs Analysis
An Open Source NoSQL solution for Internet Access Logs Analysis A practical case of why, what and how to use a NoSQL Database Management System instead of a relational one José Manuel Ciges Regueiro
Chapter 9 Java and SQL. Wang Yang [email protected]
Chapter 9 Java and SQL Wang Yang [email protected] Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)
Introduction to Polyglot Persistence. Antonios Giannopoulos Database Administrator at ObjectRocket by Rackspace
Introduction to Polyglot Persistence Antonios Giannopoulos Database Administrator at ObjectRocket by Rackspace FOSSCOMM 2016 Background - 14 years in databases and system engineering - NoSQL DBA @ ObjectRocket
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
Perl & NoSQL Focus on MongoDB. Jean-Marie Gouarné http://jean.marie.gouarne.online.fr [email protected]
Perl & NoSQL Focus on MongoDB Jean-Marie Gouarné http://jean.marie.gouarne.online.fr [email protected] AGENDA A NoIntroduction to NoSQL The document store data model MongoDB at a glance MongoDB Perl API
Relational databases and SQL
Relational databases and SQL Matthew J. Graham CACR Methods of Computational Science Caltech, 29 January 2009 relational model Proposed by E. F. Codd in 1969 An attribute is an ordered pair of attribute
Databases for text storage
Databases for text storage Jonathan Ronen New York University [email protected] December 1, 2014 Jonathan Ronen (NYU) databases December 1, 2014 1 / 24 Overview 1 Introduction 2 PostgresSQL 3 MongoDB Jonathan
Automating SQL Injection Exploits
Automating SQL Injection Exploits Mike Shema IT Underground, Berlin 2006 Overview SQL injection vulnerabilities are pretty easy to detect. The true impact of a vulnerability is measured
Why NoSQL? Your database options in the new non- relational world. 2015 IBM Cloudant 1
Why NoSQL? Your database options in the new non- relational world 2015 IBM Cloudant 1 Table of Contents New types of apps are generating new types of data... 3 A brief history on NoSQL... 3 NoSQL s roots
Querying MongoDB without programming using FUNQL
Querying MongoDB without programming using FUNQL FUNQL? Federated Unified Query Language What does this mean? Federated - Integrates different independent stand alone data sources into one coherent view
MongoDB Developer and Administrator Certification Course Agenda
MongoDB Developer and Administrator Certification Course Agenda Lesson 1: NoSQL Database Introduction What is NoSQL? Why NoSQL? Difference Between RDBMS and NoSQL Databases Benefits of NoSQL Types of NoSQL
Chair of Software Engineering. Java and C# in depth. Carlo A. Furia, Bertrand Meyer. C#: Persistence
Chair of Software Engineering Carlo A. Furia, Bertrand Meyer C#: Persistence Outline C# Serialization Connecting to a RDBMS with ADO.NET LINQ (Language Integrated Queries) NoSQL Solutions for C# and Java
Document Oriented Database
Document Oriented Database What is Document Oriented Database? What is Document Oriented Database? Not Really What is Document Oriented Database? The central concept of a document-oriented database is
pymssql Documentation
pymssql Documentation Release 2.1.2.dev pymssql developers November 08, 2015 Contents 1 Introduction 1 1.1 Getting started.............................................. 1 1.2 Architecture...............................................
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
Package RCassandra. R topics documented: February 19, 2015. Version 0.1-3 Title R/Cassandra interface
Version 0.1-3 Title R/Cassandra interface Package RCassandra February 19, 2015 Author Simon Urbanek Maintainer Simon Urbanek This packages provides
College Tuition: Data mining and analysis
CS105 College Tuition: Data mining and analysis By Jeanette Chu & Khiem Tran 4/28/2010 Introduction College tuition issues are steadily increasing every year. According to the college pricing trends report
Open source framework for interactive data exploration in server based architecture
Open source framework for interactive data exploration in server based architecture D5.5 v1.0 WP5 Visual Analytics: D5.5 Open source framework for interactive data exploration in server based architecture
ENHANCEMENTS TO SQL SERVER COLUMN STORES. Anuhya Mallempati #2610771
ENHANCEMENTS TO SQL SERVER COLUMN STORES Anuhya Mallempati #2610771 CONTENTS Abstract Introduction Column store indexes Batch mode processing Other Enhancements Conclusion ABSTRACT SQL server introduced
MongoDB. Or how I learned to stop worrying and love the database. Mathias Stearn. N*SQL Berlin October 22th, 2009. 10gen
What is? Or how I learned to stop worrying and love the database 10gen N*SQL Berlin October 22th, 2009 What is? 1 What is? Document Oriented JavaScript Enabled Fast, Scalable, Available, and Reliable 2
Big Data. Facebook Wall Data using Graph API. Presented by: Prashant Patel-2556219 Jaykrushna Patel-2619715
Big Data Facebook Wall Data using Graph API Presented by: Prashant Patel-2556219 Jaykrushna Patel-2619715 Outline Data Source Processing tools for processing our data Big Data Processing System: Mongodb
Visual Statement. NoSQL Data Storage. MongoDB Project. April 10, 2014. Bobby Esfandiari Stefan Schielke Nicole Saat
Visual Statement NoSQL Data Storage April 10, 2014 Bobby Esfandiari Stefan Schielke Nicole Saat Contents Table of Contents 1 Timeline... 5 Requirements... 8 Document History...8 Revision History... 8 Introduction...9
SQL Injection. The ability to inject SQL commands into the database engine through an existing application
SQL Injection The ability to inject SQL commands into the database engine through an existing application 1 What is SQL? SQL stands for Structured Query Language Allows us to access a database ANSI and
Object Relational Database Mapping. Alex Boughton Spring 2011
+ Object Relational Database Mapping Alex Boughton Spring 2011 + Presentation Overview Overview of database management systems What is ORDM Comparison of ORDM with other DBMSs Motivation for ORDM Quick
Python Database Application Programming Interface (DB-API)
17 Python Database Application Programming Interface (DB-API) Objectives To understand the relational database model. To understand basic database queries using Structured Query Language (SQL). To use
ANDROID APPS DEVELOPMENT FOR MOBILE GAME
ANDROID APPS DEVELOPMENT FOR MOBILE GAME Lecture 7: Data Storage and Web Services Overview Android provides several options for you to save persistent application data. Storage Option Shared Preferences
Weaving Stored Procedures into Java at Zalando
Weaving Stored Procedures into Java at Zalando Jan Mussler JUG DO April 2013 Outline Introduction Stored procedure wrapper Problems before the wrapper How it works How to use it More features including
Using Python, Django and MySQL in a Database Course
Using Python, Django and MySQL in a Database Course Thomas B. Gendreau Computer Science Department University of Wisconsin - La Crosse La Crosse, WI 54601 [email protected] Abstract Software applications
Advanced Object Oriented Database access using PDO. Marcus Börger
Advanced Object Oriented Database access using PDO Marcus Börger ApacheCon EU 2005 Marcus Börger Advanced Object Oriented Database access using PDO 2 Intro PHP and Databases PHP 5 and PDO Marcus Börger
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world
Analytics March 2015 White paper Why NoSQL? Your database options in the new non-relational world 2 Why NoSQL? Contents 2 New types of apps are generating new types of data 2 A brief history of NoSQL 3
Comparing SQL and NOSQL databases
COSC 6397 Big Data Analytics Data Formats (II) HBase Edgar Gabriel Spring 2015 Comparing SQL and NOSQL databases Types Development History Data Storage Model SQL One type (SQL database) with minor variations
Django MSSQL Documentation
Django MSSQL Documentation Release dev Django MSSQL authors October 09, 2012 CONTENTS 1 Welcome to Django-mssql s documentation! 3 1.1 Quickstart................................................ 3 1.2
How SourceForge is Using MongoDB
How SourceForge is Using MongoDB Rick Copeland @rick446 [email protected] Geeknet, page 1 SF.net BlackOps : FossFor.us User Editable! Web 2.0! (ish) Not Ugly! Geeknet, page 2 Moving to NoSQL FossFor.us used
Introduction to NoSQL Databases and MapReduce. Tore Risch Information Technology Uppsala University 2014-05-12
Introduction to NoSQL Databases and MapReduce Tore Risch Information Technology Uppsala University 2014-05-12 What is a NoSQL Database? 1. A key/value store Basic index manager, no complete query language
Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD. Introduction to Pig
Introduction to Pig Agenda What is Pig? Key Features of Pig The Anatomy of Pig Pig on Hadoop Pig Philosophy Pig Latin Overview Pig Latin Statements Pig Latin: Identifiers Pig Latin: Comments Data Types
Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013
Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options
SQL - QUICK GUIDE. Allows users to access data in relational database management systems.
http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating
Programming Against Hybrid Databases with Java Handling SQL and NoSQL. Brian Hughes IBM
Programming Against Hybrid Databases with Java Handling SQL and NoSQL Brian Hughes IBM 1 Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services
Database Administration with MySQL
Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational
.NET User Group Bern
.NET User Group Bern Roger Rudin bbv Software Services AG [email protected] Agenda What is NoSQL Understanding the Motivation behind NoSQL MongoDB: A Document Oriented Database NoSQL Use Cases What is
Harnessing the Potential Raj Nair
Linking Structured and Unstructured Data Harnessing the Potential Raj Nair AGENDA Structured and Unstructured Data What s the distinction? The rise of Unstructured Data What s driving this? Big Data Use
NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre
NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Why NoSQL? In the last thirty years relational databases have been the default choice for serious data storage. An architect
Online signature API. Terms used in this document. The API in brief. Version 0.20, 2015-04-08
Online signature API Version 0.20, 2015-04-08 Terms used in this document Onnistuu.fi, the website https://www.onnistuu.fi/ Client, online page or other system using the API provided by Onnistuu.fi. End
database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia [email protected]
Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features
MongoDB in the NoSQL and SQL world. Horst Rechner [email protected] Berlin, 2012-05-15
MongoDB in the NoSQL and SQL world. Horst Rechner [email protected] Berlin, 2012-05-15 1 MongoDB in the NoSQL and SQL world. NoSQL What? Why? - How? Say goodbye to ACID, hello BASE You
A COMPARATIVE STUDY OF NOSQL DATA STORAGE MODELS FOR BIG DATA
A COMPARATIVE STUDY OF NOSQL DATA STORAGE MODELS FOR BIG DATA Ompal Singh Assistant Professor, Computer Science & Engineering, Sharda University, (India) ABSTRACT In the new era of distributed system where
Evaluation of NoSQL databases for large-scale decentralized microblogging
Evaluation of NoSQL databases for large-scale decentralized microblogging Cassandra & Couchbase Alexandre Fonseca, Anh Thu Vu, Peter Grman Decentralized Systems - 2nd semester 2012/2013 Universitat Politècnica
IT2305 Database Systems I (Compulsory)
Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this
NO SQL! NO INJECTION?
NO SQL! NO INJECTION? A talk on the state of NoSQL security IBM Cyber Security Center of Excellence Aviv Ron Alexandra Shulman-Peleg IBM AppScan Emanuel Bronshtein AVIV RON Security Researcher for IBM
Please ask questions! Have people used non-relational dbs before? MongoDB?
Kristina Chodorow Please ask questions! Have people used non-relational dbs before? MongoDB? Software Engineer at $ whoami Scaling a Pre-WWW DB literally scale literally scale (Courtesy of Ask Bjorn Hansen)
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013
NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural
wow CPSC350 relational schemas table normalization practical use of relational algebraic operators tuple relational calculus and their expression in a declarative query language relational schemas CPSC350
Cloud Scale Distributed Data Storage. Jürmo Mehine
Cloud Scale Distributed Data Storage Jürmo Mehine 2014 Outline Background Relational model Database scaling Keys, values and aggregates The NoSQL landscape Non-relational data models Key-value Document-oriented
NoSQL, But Even Less Security Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team
NoSQL, But Even Less Security Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team Agenda Eventual Consistency REST APIs and CSRF NoSQL Injection SSJS Injection NoSQL databases
L7_L10. MongoDB. Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD.
L7_L10 MongoDB Agenda What is MongoDB? Why MongoDB? Using JSON Creating or Generating a Unique Key Support for Dynamic Queries Storing Binary Data Replication Sharding Terms used in RDBMS and MongoDB Data
Big Systems, Big Data
Big Systems, Big Data When considering Big Distributed Systems, it can be noted that a major concern is dealing with data, and in particular, Big Data Have general data issues (such as latency, availability,
Data Intensive Computing Handout 5 Hadoop
Data Intensive Computing Handout 5 Hadoop Hadoop 1.2.1 is installed in /HADOOP directory. The JobTracker web interface is available at http://dlrc:50030, the NameNode web interface is available at http://dlrc:50070.
Intro to Databases. ACM Webmonkeys 2011
Intro to Databases ACM Webmonkeys 2011 Motivation Computer programs that deal with the real world often need to store a large amount of data. E.g.: Weather in US cities by month for the past 10 years List
extensible record stores document stores key-value stores Rick Cattel s clustering from Scalable SQL and NoSQL Data Stores SIGMOD Record, 2010
System/ Scale to Primary Secondary Joins/ Integrity Language/ Data Year Paper 1000s Index Indexes Transactions Analytics Constraints Views Algebra model my label 1971 RDBMS O tables sql-like 2003 memcached
Attacking MongoDB. Firstov Mihail
Attacking MongoDB Firstov Mihail What is it? MongoDB is an open source document-oriented database system. Features : 1. Ad hoc queries. 2. Indexing 3. Replication 4. Load balancing 5. File storage 6. Aggregation
Introduction to NoSQL and MongoDB. Kathleen Durant Lesson 20 CS 3200 Northeastern University
Introduction to NoSQL and MongoDB Kathleen Durant Lesson 20 CS 3200 Northeastern University 1 Outline for today Introduction to NoSQL Architecture Sharding Replica sets NoSQL Assumptions and the CAP Theorem
Write a Foreign Data Wrapper in 15 minutes
Write a Foreign Data Wrapper in 15 minutes Table des matières Write a Foreign Data Wrapper in 15 minutes...1 1 About me...4 2 Foreign Data Wrappers?...5 3 Goals...5 4 Agenda...5 5 Part 1 - SQL/MED...6
Using Object Database db4o as Storage Provider in Voldemort
Using Object Database db4o as Storage Provider in Voldemort by German Viscuso db4objects (a division of Versant Corporation) September 2010 Abstract: In this article I will show you how
MySQL Fabric: High Availability Solution for Connector/Python
DBAHire.com MySQL Fabric: High Availability Solution for Connector/Python Jaime Crespo PyConES 2014 Zaragoza -8 Nov 2014- dbahire.com 1 Table of Contents 1. What is MySQL Fabric? 4. Sharding 2. Installation
