webinar: scaling coldfusion (cfml) applications with couchbase nosql server

42
Scaling ColdFusion (CFML) Apps with Couchbase Tugdual “Tug” Grall Technical Evangelist Couchbase Brad Wood Technical Evangelist Ortus Solutions

Upload: couchbase

Post on 20-May-2015

842 views

Category:

Art & Photos


3 download

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.

TRANSCRIPT

Page 1: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Scaling ColdFusion (CFML) Apps with Couchbase

Tugdual “Tug” Grall

Technical Evangelist

Couchbase

Brad Wood

Technical Evangelist

Ortus Solutions

Page 2: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

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

Page 3: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

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

Page 4: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Open Source Project

http://www.couchbase.com/download

Page 5: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase Handles Real World Scale

Page 6: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

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

Page 7: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

• 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

Page 8: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

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

Page 9: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

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

Page 10: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

www.couchbase.com/develop

Go Clojure

Community SDKs

PythonRuby

Official SDKs

Couchbase SDK

Page 11: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Ortus Solution and CFML Apps

Page 12: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Ortus Solution

• CFML Gurus

• ColdBox MVC Platform and ContentBox CMS

• Consulting/Server Tuning

• Custom Development

• Training & Mentoring

Page 13: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

What is CFML?

• ColdFusion Markup Language

Page 14: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

What is CFML?

• ColdFusion Markup Language

• Supports templating & scripting

Page 15: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

What is CFML?

• ColdFusion Markup Language

• Supports templating & scripting

• Direct-compiles to bytecode

Page 16: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

What is CFML?

• ColdFusion Markup Language

• Supports templating & scripting

• Direct-compiles to bytecode

• Runs on JVM in a servlet container

Page 17: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

What is CFML?

• ColdFusion Markup Language

• Supports templating & scripting

• Direct-compiles to bytecode

• Runs on JVM in a servlet container

• Deep integration with Java

Page 18: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

CFML Vendor Platforms

Page 19: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

CFML Vendor Platforms

Page 20: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

CFML Vendor Platforms

Page 21: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

CFML Vendor Platforms

Page 22: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFML

?

Page 23: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLORM 2nd Level Cache

Page 24: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLORM 2nd Level Cache

Page 25: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLCacheBox Cache Aggregator and API

Page 26: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLCacheBox Cache Aggregator and API

Page 27: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLCacheBox Cache Aggregator and API

Page 28: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLCacheBox Cache Aggregator and API

Page 29: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLCacheBox Cache Aggregator and API

Page 30: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLCacheBox Cache Aggregator and API

Page 31: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 32: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 33: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 34: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 35: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 36: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 37: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 38: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

Page 39: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Couchbase in CFMLOrtus Couchbase Railo Extension

- JSON Marshalling

- Store/Retrieve Documents

- Create/Query Views

- Map/Reduce

Page 40: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

Demonstration

Page 41: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

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

Page 42: Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server