Scaling ColdFusion (CFML) Apps
with Couchbase
Tugdual “Tug” Grall

Brad Wood

Technical Evangelist

Technical Evangelist

...
Agenda
• Introduction to Couchbase
•
•
•

Company and Projects
NoSQL Database
Couchbase Architecture

• Ortus Solutions
•
...
Couchbase Open Source Project
• Leading NoSQL database project
focused on distributed database
technology and surrounding ...
Open Source Project

http://www.couchbase.com/download
Couchbase Handles Real World Scale
Couchbase Server Core Principles
Easy
Scalability
Grow cluster without
application changes, without
downtime with a single...
Flexible Data Model
{
“ID”: 1,
“FIRST”: “Dipti”,
“LAST”: “Borkar”,
“ZIP”: “94040”,
“CITY”: “MV”,
“STATE”: “CA”

}
JSON

JS...
Write (‘set’) Operation
2

3
2
Managed Cache
To other node

Replication
Queue

3

Doc 1

Disk

Couchbase Server Node

Disk...
Cluster-wide Basic Operation
APP SERVER 1

APP SERVER 2

COUCHBASE Client Library

COUCHBASE Client Library

CLUSTER MAP

...
Couchbase SDK
Official SDKs
Ruby

Python

Community SDKs
Go

Clojure

www.couchbase.com/develop
Ortus Solution and CFML Apps
Ortus Solution
• CFML Gurus
• ColdBox MVC Platform and ContentBox CMS
• Consulting/Server Tuning
• Custom Development
• Tr...
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 i...
What is CFML?
• ColdFusion Markup Language
• Supports templating & scripting
• Direct-compiles to bytecode
• Runs on JVM i...
CFML Vendor Platforms
CFML Vendor Platforms
CFML Vendor Platforms
CFML Vendor Platforms
Couchbase in CFML
Couchbase in CFML
ORM 2nd Level Cache
Couchbase in CFML
ORM 2nd Level Cache
Couchbase in CFML
CacheBox Cache Aggregator and API
Couchbase in CFML
CacheBox Cache Aggregator and API
Couchbase in CFML
CacheBox Cache Aggregator and API
Couchbase in CFML
CacheBox Cache Aggregator and API
Couchbase in CFML
CacheBox Cache Aggregator and API
Couchbase in CFML
CacheBox Cache Aggregator and API
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension
Couchbase in CFML
Ortus Couchbase Railo Extension

- JSON Marshalling
- Store/Retrieve Documents
- Create/Query Views
- Ma...
Demonstration
Conclusion
• Couchbase is a Scalable NoSQL Database
•
•
•

Key/Value and Document Store
Supported by many languages includ...
Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server
Upcoming SlideShare
Loading in …5
×

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

1,366 views

Published on

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.

Published in: Art & Photos, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,366
On SlideShare
0
From Embeds
0
Number of Embeds
106
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Firstly, lets see how a write operation on a single document is handled(click) 1.  A set request comes in from the application .(click) 2.  Couchbase Server responds back that they key is written(click) 3. Couchbase Server then replicates the data out to memory to one or more nodes(click) 4.At the same time it is put the data into a write queue to be persisted to disk.Note that our primary form of high availability is getting the data off the node as quickly as possible. This is done from RAM to RAM and happens extremely quickly. The disk write process is always going to be a bit slower. We do everything asynchronously for the best performance, but also have a separate operation that the client can perform to wait for an item to be replicated and/or persisted to disk. It’s a separate operation on a key-by-key basis so the application developer can make the trade-off between performance and resiliency.
  • Bulletize the text. Make sure the builds work.
  • Webinar: Scaling ColdFusion (CFML) Applications with Couchbase NoSQL Server

    1. 1. Scaling ColdFusion (CFML) Apps with Couchbase Tugdual “Tug” Grall Brad Wood Technical Evangelist Technical Evangelist Couchbase Ortus Solutions
    2. 2. 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
    3. 3. 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
    4. 4. Open Source Project http://www.couchbase.com/download
    5. 5. Couchbase Handles Real World Scale
    6. 6. Couchbase Server Core Principles Easy Scalability Grow cluster without application changes, without downtime with a single click Always On 24x365 No downtime for software upgrades, hardware maintenance, etc. Consistent High Performance Consistent sub-millisecond read and write response times with consistent high throughput Flexible Data Model JSON document model with no fixed schema.
    7. 7. Flexible Data Model { “ID”: 1, “FIRST”: “Dipti”, “LAST”: “Borkar”, “ZIP”: “94040”, “CITY”: “MV”, “STATE”: “CA” } JSON JSON JSON JSON • 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
    8. 8. Write (‘set’) Operation 2 3 2 Managed Cache To other node Replication Queue 3 Doc 1 Disk Couchbase Server Node Disk Queue App Server Doc 1
    9. 9. Cluster-wide Basic Operation APP SERVER 1 APP SERVER 2 COUCHBASE Client Library COUCHBASE Client Library CLUSTER MAP CLUSTER MAP READ/WRITE/UPDATE SERVER 1 ACTIVE Doc 5 SERVER 2 ACTIVE Doc Doc 4 SERVER 3 ACTIVE Doc Doc 1 Doc Doc 2 Doc Doc 7 Doc Doc 2 Doc Doc 9 Doc Doc 8 Doc Doc 6 Doc REPLICA REPLICA REPLICA • Docs distributed evenly across servers • Each server stores both active and replica docs Only one server active at a time • Client library provides app with simple interface to database • Cluster map provides map to which server doc is on Doc 4 Doc Doc 6 Doc Doc 7 Doc Doc 1 Doc Doc 3 Doc Doc 9 Doc • App reads, writes, updates docs Doc 8 Doc Doc 2 Doc Doc 5 Doc • Multiple app servers can access same document at same time COUCHBASE SERVER CLUSTER User Configured Replica Count = 1 App never needs to know
    10. 10. Couchbase SDK Official SDKs Ruby Python Community SDKs Go Clojure www.couchbase.com/develop
    11. 11. Ortus Solution and CFML Apps
    12. 12. Ortus Solution • CFML Gurus • ColdBox MVC Platform and ContentBox CMS • Consulting/Server Tuning • Custom Development • Training & Mentoring
    13. 13. What is CFML? • ColdFusion Markup Language
    14. 14. What is CFML? • ColdFusion Markup Language • Supports templating & scripting
    15. 15. What is CFML? • ColdFusion Markup Language • Supports templating & scripting • Direct-compiles to bytecode
    16. 16. What is CFML? • ColdFusion Markup Language • Supports templating & scripting • Direct-compiles to bytecode • Runs on JVM in a servlet container
    17. 17. What is CFML? • ColdFusion Markup Language • Supports templating & scripting • Direct-compiles to bytecode • Runs on JVM in a servlet container • Deep integration with Java
    18. 18. CFML Vendor Platforms
    19. 19. CFML Vendor Platforms
    20. 20. CFML Vendor Platforms
    21. 21. CFML Vendor Platforms
    22. 22. Couchbase in CFML
    23. 23. Couchbase in CFML ORM 2nd Level Cache
    24. 24. Couchbase in CFML ORM 2nd Level Cache
    25. 25. Couchbase in CFML CacheBox Cache Aggregator and API
    26. 26. Couchbase in CFML CacheBox Cache Aggregator and API
    27. 27. Couchbase in CFML CacheBox Cache Aggregator and API
    28. 28. Couchbase in CFML CacheBox Cache Aggregator and API
    29. 29. Couchbase in CFML CacheBox Cache Aggregator and API
    30. 30. Couchbase in CFML CacheBox Cache Aggregator and API
    31. 31. Couchbase in CFML Ortus Couchbase Railo Extension
    32. 32. Couchbase in CFML Ortus Couchbase Railo Extension
    33. 33. Couchbase in CFML Ortus Couchbase Railo Extension
    34. 34. Couchbase in CFML Ortus Couchbase Railo Extension
    35. 35. Couchbase in CFML Ortus Couchbase Railo Extension
    36. 36. Couchbase in CFML Ortus Couchbase Railo Extension
    37. 37. Couchbase in CFML Ortus Couchbase Railo Extension
    38. 38. Couchbase in CFML Ortus Couchbase Railo Extension
    39. 39. Couchbase in CFML Ortus Couchbase Railo Extension - JSON Marshalling - Store/Retrieve Documents - Create/Query Views - Map/Reduce
    40. 40. Demonstration
    41. 41. 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

    ×