"Fuji" is the codename for the first release of a new product from Sybase, SQL Anywhere OnDemand Edition.
SQL Anywhere® OnDemand Edition is a data management solution that enables ISVs to take business applications to the cloud without compromise. Now ISVs can build, deploy, and manage large cloud applications that put customers first.
Your customers’ data is isolated, and they always know where their data is. SQL Anywhere OnDemand Edition delivers trusted data management capabilities that let you take advantage of the cloud’s economies of scale, with built-in tooling that ensures you can still treat each of your customers individually. SQL Anywhere OnDemand Edition gives your customers the security of full data isolation while giving you the administrative ease of multi-tenant computing.
Yes, but it is much more than that. SQL Anywhere OnDemand Edition is a distributed database server that can be spread out across many machines, but logically can treated as a single server from the outside world.
SQL Anywhere OnDemand Edition is built on top of an existing database from Sybase, SQL Anywhere. SQL Anywhere is an embedded database that used by ISVs building data-rich applications. SQL Anywhere is used by thousands of partners, and is deployed to millions of users.
No, SQL Anywhere OnDemand Edition is a piece of software that developers can take and run on whatever hosting provider they like. It allows developers to create a distributed, scalable database that they can use to power their cloud applications.
SQL Anywhere OnDemand Edition allows you to create a cloud of machines that act as a distributed database engine. From the outside, applications are able to connect to the cloud of servers and treat it as if it were a single server. Internally, the workload is balanced across many different servers that make up the cloud. These servers can be dynamically added and removed in order to provide scalability as demand changes.
SQL Anywhere OnDemand Edition takes a fundamentally different approach to scaling across many machines; it is designed to scale with the number of individual databases in the cloud, not the absolute size of any single database.
SQL Anywhere OnDemand Edition does not shard or partition pieces of any database across all the machines in the system. Each database stays completely intact on the machines that it runs on. Queries are executed at one machine only, and are not distributed across multiple machines.
Scalability comes in many forms, and it is important to identify by what metric you scale. Most cloud databases have been focused at the problem of scaling the absolute amount of data stored. To do this, they use complicated shading and partitioning techniques. SQL Anywhere OnDemand Edition is different. SQL Anywhere OnDemand Edition scales with the number of individual databases that are run in the cloud.
Because SQL Anywhere OnDemand Edition is focused on scaling with the number of databases in the cloud, it is targeted at users who have a large number of separate, isolated databases that they need to manage.
The most obvious group that falls into this category are Independent Software Vendors (ISVs). ISVs create applications that they resell to many separate customers. When an ISV develops an application for the cloud, they are faced with the choice of how to organize their customers’ data. Typically, they are faced with two options: put all the customers into a single database, or maintain separate databases for each customer.
We believe that for most ISV applications, the right choice is to maintain separate databases for each customer. The result of this is that the ISV is faced with the task of managing hundreds or thousands of individual databases. This is the task that SQL Anywhere OnDemand Edition makes easier.
Although ISVs are the most obvious group, SQL Anywhere OnDemand Edition is suitable for anyone that is responsible for hosting many databases, and wants to centralize and manage them in a single data platform.
For an ISV, every customer is separate and unique from all of the other customers. And, just as the customers are separate, their data is separate as well. For ISVs who have existing deployed applications, this is the model that their applications were written in by necessity. Because the application was deployed at each customer’s site, each customer had their own instance of the application and database. As ISVs create hosted solutions that compliment or replace their existing deployed application, they must decide whether to maintain that data model in the new application.
Keeping the databases separate gives ISVs more flexibility to treat their customers individually. These benefits fall broadly under four separate categories:
Until now, the main drawback to maintaining separate database has been the administrative overhead associated with managing, backing up, and tuning thousands of databases. SQL Anywhere OnDemand Edition solves this problem; it is designed to allow a small team to manage thousands of isolated databases.
While SQL Anywhere OnDemand Edition is focused on the scalability of the number of databases, the scalability of each individual database is important. Because SQL Anywhere OnDemand Edition is powered by the SQL Anywhere database, the scalability of an individual database is identical to that of existing SQL Anywhere databases. SQL Anywhere OnDemand Edition is targeted at running databases up to hundreds of gigabytes in size. (Note that is the size for an individual database. Because SQL Anywhere OnDemand Edition is designed to run many databases, there may be hundreds of database of that size making the absolute size of data stored in the cloud much greater).
The cloud uploads, via a secured HTTPS connection to the Sybase billing server, an XML document that contains the following cloud-level pieces of information:
and then the following server-level pieces of information:
Here is an example usage document for a two-server cloud:
In the Fuji Beta, the cloud will upload its usage information to Sybase every hour. If for some reason it can't establish a connection to Sybase, a cloud error will be generated. The error will continue to be generated every hour until the upload succeeds.
If a cloud has not successfully uploaded its usage information for 31 days, it will enter reduced-functionality mode until it can successfully upload its usage data. In reduced-functionality mode, all running servers continue to run, however, no cloud tasks can be executed. This means that, for example, no new servers can be started in the cloud while it is in reduced-functionality mode. While in this mode, it will continue trying hourly to upload its data. The most common reason for the cloud to be unable to upload its usage information is that it can't establish an HTTPS connection to relayserver.sybase.com.
The verbatim XML file that is uploaded to Sybase is written out in the cloud event tracing log. You can see exactly what has been uploaded by doing the following:
Sybase is investigating utility-based pricing for SQL Anywhere OnDemand Edition that would allow you to scale-up and scale-down the number resources that are being used by the cloud, and only be billed for only the resources you are using. If you have any questions or comments about this, please ask them in the SQL Anywhere OnDemand Edition "Fuji" Beta Forum.