Download presentation
Presentation is loading. Please wait.
Published byRoland Boyd Modified over 8 years ago
1
Cloudant & Redis www.softacad.bg Nikolay Tomitov Technical Trainer SoftAcad Training Center
2
www.softacad.bg Documental Databases Relational Databases
3
www.softacad.bg
4
Cloudant == managed installation of Apache CouchDB in the cloud
5
Cloudant scales within & between data centers ◦ Global networks of servers ◦ Built-in replication and sync ◦ Push the data closer to the user & application ◦ Disaster recovery www.softacad.bg
6
Eliminates data layer-related complexity, delay, cost, and risk Performance & scale with no worries Build epic apps, easily ◦ Enables advanced app features and analytics ◦ Full-text search, off-line computing, replication, incremental MapReduce, code and data ◦ distribution... ◦ Accelerates release cycles (reduces time to value) Start for free, pay as you grow www.softacad.bg
7
Provision Signup is free, and access is immediate Define No schema, usually just JSON Access RESTful API View Define data views via Javascript Search Integrated, Lucene-like full-text search Analyze Incremental, chainable MapReduce Operate Dashboards to monitor, compact, replicate Grow Automatic
8
Data is stored and returned in JSON format Queried via HTTP RESTful API Index building language: Javascript Simple and intuitive interface www.softacad.bg
9
Create: HTTP PUT /db/test Read: HTTP GET /db/test Update: HTTP PUT /db/test Delete: HTTP DELETE /db/test www.softacad.bg
10
Views: the way to arrange data to answer our questions Method to build views: Incremental MapReduce using JavaScript www.softacad.bg
18
Practice Map Reduce at: http://blog.mudynamics.com/wp- content/uploads/2009/04/icouch.html http://blog.mudynamics.com/wp- content/uploads/2009/04/icouch.html http://couchdb.apache.org/downloads.html http://couchdb.apache.org/downloads.html www.softacad.bg
19
“Redis is an open source, advanced key-value store It is often referred to as a data structure server Since keys can contain strings, hashes, lists, sets and sorted setsstrings hasheslistssetssorted sets www.softacad.bg
20
It’s really fast ◦ Non-blocking I/O, single threaded ◦ 100,000+ read/writes a second It complements your existing storage layer It is very feasible for small apps But..trade performance for durability www.softacad.bg
21
Short keys perform better Could not contain whitespaces Common convention is : obj- type:id:field ◦ user:77:pass = abcd SHA1(data) makes a useful key too
22
www.softacad.bg strings (up to 1GB) Lists of strings Sets of strings Sorted sets Hashes Pubsub channels
23
www.softacad.bg EXISTS[key] DEL[key] TYPE[key] RENAMENX[key] EXPIRE [key] EXPIREAT[key] TTL[key]
24
www.softacad.bg SET[key value] MGET[key1 key2 key3..] GET [key] INCR/DECR [key] INCRBY/DECRBY[key]
25
www.softacad.bg Store session data + creation time Hit counts ◦ key =MD5(url) ◦ Incr hits-by-key:$key APPEND can be used for logging Redis as shared memory location Progress bars, polling
26
www.softacad.bg More durability -> less performance Default behaviour fork-and-save a snapshot to disk every… ◦ 15 mins if one key has changed ◦ 5 mins if 10 keys have changed ◦ 60 secs if 10000 keys have changed SAVE/BGSAVE commands trigger a save
27
www.softacad.bg
28
Try it : ◦ http://try.redis-db.com http://try.redis-db.com Redis Admin UI ◦ http://www.servicestack.net/mythz_blog/?p=381 http://www.servicestack.net/mythz_blog/?p=381 www.softacad.bg
30
Non–relational data store Designed to be highly available and flexible Available only on Amazon WS
31
www.softacad.bg Low touch – almost no administration needed Highly available – automatic replication and fail over Flexible – not bound by a schema Simple to use – supports only the most common operations Designed for integration with other Amazon Web Services Secure RESTful interface
32
www.softacad.bg Free tier – 1 GB/month, 25 SimpleDB machine hours Only outgoing transfers are charged Data transfers in the same region are free Monthly rates between $0.12 and $0.05
33
www.softacad.bg Optimized reads and writes Easily integrated with other AWS Uses the HTTP protocol for communication Ideal for storing non – structured or semi – structured data
34
www.softacad.bg Limited functionality compared to relational and other non – relational products Complex queries need a lot of coding No fulltext indexing All queries have the N + 1 problem
35
Amazon Simple DB
37
www.softacad.bg Schemaless object datastore Designed to scale Hierarchical Available only on Google App Engine
38
www.softacad.bg No administration needed Flexible – not bound by a schema Designed for no downtime Automatic replication Queries must run against predefined indexes Rich query engine Atomic transactions APIs available for all the languages supported by GAE
39
www.softacad.bg Free quota: 1GB, 200 indexes Monthly rates: $0.24/gigabyte; between $0.01 and $0.10 for 100k database operations
40
www.softacad.bg Fast Hierarchical queries boost speed Atomic transactions supported Large and active community The Java API include implementations of JDO and JPA
41
www.softacad.bg Limited functionality ◦ Compared to relational databases and other non–relational data stores Indexes require additional configuration
42
Google App Engine Datastore
44
www.softacad.bg Non – relational, schema free database Highly scalable Engineered for maximum speed Available as a stand alone product A number of hosted MongoDB solutions available ◦ MongoLab ◦ MongoHQ ◦ Mongo Machine
45
www.softacad.bg Almost administration free High availability – replication and sharding A rich set of features ◦ Complex queries ◦ Aggregate functions ◦ Map/Reduce operations ◦ Indexes ◦ Stored procedures ◦ BLOB storage (GridFS) Database drivers available for a large list of programming languages
46
MongoLabMongoHQ Easy setup (No billing info needed) Intuitive interface 240MB free Deploy on Amazon EC2, Rackspace or Joynet MongoDB Version 1.8 Easy setup (Credit card needed) Intuitive interface 16MB free Deploy only on Amazon EC2 Different MongoDB Version according to price plan
47
www.softacad.bg Fast Rich feature set Mature product Large and active community
48
www.softacad.bg No relational database style transactions No data validation
49
MongoDB on MongoLab
50
www.softacad.bg 1. Register for a free Cloudant account at https://cloudant.com. https://cloudant.com 2. Write a simple "Dictionary" application in Java, C#, PHP, or JavaScript to perform the following in Cloudant: ◦ Add a dictionary entry (word + translation) ◦ List all words and their translations ◦ Find the translation of given word The UI of the application is up to you (it could be Web-based, GUI or console-based). You may download a Cloudant client library from http://wiki.apache.org/couchdb/Related_Projects http://wiki.apache.org/couchdb/Related_Projects
51
www.softacad.bg 3. Implement the previous task ("Dictionary") with Redis ◦ Register for a free "Redis To Go" account at: https://redistogo.com https://redistogo.com ◦ Download the client libraries for your favorite programming language from http://redis.io/clientshttp://redis.io/clients 4. Implement the previous task ("Dictionary") with MongoDB (register at MongoLab or MongoHQ) 5. Optionally (if you want) implement the previous task ("Dictionary") with Google Datastore or Amazon SimpleDB
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.