Upload
couchbase
View
845
Download
3
Tags:
Embed Size (px)
DESCRIPTION
In modern applications, scalability is one of the most important keys to success. High availability requires distributed systems that can scale with load and data size. Couchbase has been recognized to be one of the fastest and easiest to scale NoSQL databases. Ortus Solutions has developed plugins for CFML applications (powered by ColdFusion and/or Railo) and Couchbase to bring this power to your CFML applications. Many modern applications are using NoSQL document stores for rapid development and flexible data models. Many data needs can be satisfied by storing JSON documents that allow for on-the-fly modifications. You can index JSON documents of any structure using map reduce functions, and execute queries against them. Couchbase will bring both scalability, flexible data models and much more to your CFML applications. In this webinar you'll see: Overview of Couchbase Server and NoSQL Document store Overview of ColdFusion (CFML) Applications Distribute Java EE sessions with Couchbase Railo Extension Leverage NoSQL JSON Document store from CFML Leverage Couchbase as a distributed cache from any CFML application.
Citation preview
Scaling ColdFusion (CFML) Apps with Couchbase
Tugdual “Tug” Grall
Technical Evangelist
Couchbase
Brad Wood
Technical Evangelist
Ortus Solutions
Agenda
• Introduction to Couchbase• Company and Projects• NoSQL Database• Couchbase Architecture
• Ortus Solutions• Company and Projects• ColdFusion Markup Language• CFML Applications and Couchbase
• Q&A
Couchbase Open Source Project
• Leading NoSQL database project focused on distributed database technology and surrounding ecosystem
• Supports both key-value and document-oriented use cases
• All components are available under the Apache 2.0 Public License
• Obtained as packaged software in both enterprise and community editions.
Couchbase Open Source
Project
Couchbase Handles Real World Scale
Easy Scalability
Consistent High Performance
Always On 24x365
Grow cluster without application changes, without downtime with a single click
Consistent sub-millisecond read and write response times with consistent high throughput
No downtime for software upgrades, hardware maintenance, etc.
Flexible Data Model
JSON document model with no fixed schema.
Couchbase Server Core Principles
• Database stays online, no downtime for schema changes• Records can have different structures, there is no fixed schema• Model Data easier and faster -- agile rapid application
development
{ “ID”: 1, “FIRST”: “Dipti”, “LAST”: “Borkar”, “ZIP”: “94040”, “CITY”: “MV”, “STATE”: “CA”
}JSON
JSONJSON JSON
Flexible Data Model
33 2
Write (‘set’) Operation2
Managed Cache
Dis
k Q
ueue
Disk
Replication Queue
App Server
Couchbase Server Node
Doc 1Doc 1
Doc 1
To other node
COUCHBASE SERVER CLUSTER
Cluster-wide Basic Operation
• Docs distributed evenly across servers
• Each server stores both active and replica docsOnly one server active at a time
• Client library provides app with simple interface to database
• Cluster map provides map to which server doc is onApp never needs to know
• App reads, writes, updates docs
• Multiple app servers can access same document at same time
User Configured Replica Count = 1
READ/WRITE/UPDATE
ACTIVE
Doc 5
Doc 2
Doc
Doc
Doc
SERVER 1
ACTIVE
Doc 4
Doc 7
Doc
Doc
Doc
SERVER 2
Doc 8
ACTIVE
Doc 1
Doc 2
Doc
Doc
Doc
REPLICA
Doc 4
Doc 1
Doc 8
Doc
Doc
Doc
REPLICA
Doc 6
Doc 3
Doc 2
Doc
Doc
Doc
REPLICA
Doc 7
Doc 9
Doc 5
Doc
Doc
Doc
SERVER 3
Doc 6
APP SERVER 1
COUCHBASE Client Library
CLUSTER MAP
COUCHBASE Client Library
CLUSTER MAP
APP SERVER 2
Doc 9
www.couchbase.com/develop
Go Clojure
Community SDKs
PythonRuby
Official SDKs
Couchbase SDK
Ortus Solution and CFML Apps
Ortus Solution
• CFML Gurus
• ColdBox MVC Platform and ContentBox CMS
• Consulting/Server Tuning
• Custom Development
• Training & Mentoring
What is CFML?
• ColdFusion Markup Language
What is CFML?
• ColdFusion Markup Language
• Supports templating & scripting
What is CFML?
• ColdFusion Markup Language
• Supports templating & scripting
• Direct-compiles to bytecode
What is CFML?
• ColdFusion Markup Language
• Supports templating & scripting
• Direct-compiles to bytecode
• Runs on JVM in a servlet container
What is CFML?
• ColdFusion Markup Language
• Supports templating & scripting
• Direct-compiles to bytecode
• Runs on JVM in a servlet container
• Deep integration with Java
CFML Vendor Platforms
CFML Vendor Platforms
CFML Vendor Platforms
CFML Vendor Platforms
Couchbase in CFML
?
Couchbase in CFMLORM 2nd Level Cache
Couchbase in CFMLORM 2nd Level Cache
Couchbase in CFMLCacheBox Cache Aggregator and API
Couchbase in CFMLCacheBox Cache Aggregator and API
Couchbase in CFMLCacheBox Cache Aggregator and API
Couchbase in CFMLCacheBox Cache Aggregator and API
Couchbase in CFMLCacheBox Cache Aggregator and API
Couchbase in CFMLCacheBox Cache Aggregator and API
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
Couchbase in CFMLOrtus Couchbase Railo Extension
- JSON Marshalling
- Store/Retrieve Documents
- Create/Query Views
- Map/Reduce
Demonstration
Conclusion• Couchbase is a Scalable NoSQL Database
• Key/Value and Document Store• Supported by many languages including Java and CFML• http://www.couchbase.com/download
• Ortus Solutions• Has integrated Couchbase to CFML Ecosystem• Including an easy to install and configure extension for Railo• http://www.ortussolutions.com/products
• CFML Developers can now:• Create NoSQL/JSON based application• Use Couchbase as distributed Cache