FAQ – Xeround Cloud DBaaS
If you cannot find the answer to your question here, please ask us at info@xeround.com or on Twitter.
Jump to: General | Getting Started | Technology | Management |
General
How much does it cost to use Xeround?
To learn more about Xeround’s plans, their features and respective prices, visit our Plans and Pricing page.
Which database engines do you support?
Where are Xeround’s servers located?
- Amazon EC2 US East Coast (US-East)
- This datacenter also services our Add-ons for Heroku, Engine Yard’s Orchestra PHP Platform, PHP Fog and AppHarbor.
- Amazon EC2 West Europe (EU-West)
- RackSpace US East Coast (ORD1)
- HP Cloud Services AZ2 – Currently in Beta
We are constantly working on expanding our reach by adding additional data centers to our service, as well as by offering it on other public cloud providers.
Do you offer high-availability and auto failover across multiple regions/availability-zones/clouds?
Our technology allows us to arbitrarily set the number of data replicas that we manage as well as the role and location of each one of these. By design, our system is tolerant to faults in any of its replicas and continues to perform during and after a replica’s failure. In its current form, our service is offered with two active-active replicas, both residing in the same data center (and availability zone) as a means of protecting against a single server’s failure.
In the future we will offer other configurations like 4-replicas (1-per-zone) – where in such a configuration the system will be able to withstand the loss of one, two or even three of the availability zones that it is using and still provide the database service. Similarly, another deployment form could be split between the east and west data centers to ensure the DB’s availability even in the event of a data center meltdown.
What are the Trial limitations?
- Trial is limited to 14 days
- DB Instance size limited to 3GB and 1200 connections
If you require a larger database, you can at any point submit your payment details to remove the size limitation.
Getting Started with Xeround Cloud Database for Your MySQL Applications
How do I modify my product to use Xeround?
Where should I install my product in order to use Xeround?
Where should I run my application to achieve best performance and lowest latency with Xeround cloud database?
- Amazon EC2 US East Coast (US-East)
- This datacenter also services our Add-ons for Heroku, Engine Yard’s Orchestra PHP Platform, PHP Fog and AppHarbor.
- Amazon EC2 West Europe (EU-West)
- RackSpace US East Coast (ORD1)
- HP Cloud Services AZ2 – Currently in Beta
When creating your database instance, choose the data center closest to where your application is hosted.
How do I import my MySQL database to Xeround?
If your existing database is relatively small, you can use phpMyAdmin to load your database export file:
- Log in to the Xeround DB Instance Manager and select the database instance you want to upload your database to
- Click one of the ‘DNS Names’ entries in your instance’s ‘Details’ tab to open phpMyAdmin
- Log in to your instance using your instance’s username and password
- Click the ‘Import’ tab to browse and load your exported database.
For larger databases and in order to make the database migration faster, we recommend following the below procedure that parallelizes data import from a MySQL database.
- First, use mysqldump to export your schema and data separately by executing the following commands:
Exporting the schema:mysqldump --net_buffer_length=4096 –no-data --triggers –u <user> -p<pass> -h <server> -P <port> <database> > <schema out file>
Exporting the data:
mysqldump --net_buffer_length=4096 --compact --no-create-info –u<user> -p<pass> -h<server> -P<port> <database> > <data out file>
* Setting net_buffer_length to 4096 is recommended to avoid large transactions
- Split the data export file to several smaller files in preparation for parallel loading. For example, on any Linux distribution you can use the split command:
split –l <num of lines per file> <source file> <dest file prefix>
- Upload yout data to Xeround database instance:
- Optionally, move the database export files to and do the import from a server that is as close as possible to your Xeround database instance – this will help in lowering the overall load time by minimizing network latency. For example, if your Xeround database instance resides in Amazon’s US-East datacenter in Virginia, it would be best to load your data to it from a machine in the same datacenter.
- Load the exported schema file – this can be achieved using the mysql command line utility in the following fashion:
mysql –u <user> -p<pass> -h <server> -P <port> <database> < <schema out file>
- Once the schema loading completes, you can load the exported data by spawning a process for each data file. For example:
mysql –u <user> -p<pass> -h <server> -P <port> -D <database> < <data out file X>
Can I share one database instance between several applications?
Xeround Cloud Database Technology
Is there an actual MySQL in the system?
Since Xeround is fully MySQL-compatible, can I just import my existing MyISAM/InnoDB/NDB tables to it?
How is Xeround different from Amazon RDS?
Contrary to common perception, Amazon RDS is not a truly elastic cloud database service, but an implementation of MySQL on EC2. Unlike other database implementations, Xeround is a native cloud database, delivering seamless configuration and optimization for your MySQL’s performance, elasticity and availability in the cloud, alongside the simplicity, automation and ease-of-use of a Database-as-a-Service.
Key Differentiators Between Xeround and Amazon RDS:
- Automatic, rule-based scale up & down while the database is always available vs. manual scaling with downtime
- Highly available, self-healing database vs. database downtime, both planned (4 hour / week maintenance) and unplanned
- Unlimited database size vs. limited to Amazon’s instance sizes
- Pay per actual usage vs. pay per instance size
- Database configuration does not require code changes to your application (replication etc.)
- In-memory distributed architecture providing high performance for Read and Write operations
- Xeround is agnostic to cloud service providers – your database will run with low latency on any cloud service provider of your choice
Xeround has been built based on MySQL Storage Engine Architecture, acting as a pluggable storage engine. This implementation enables Xeround to provide many of MySQL features, such as SQL interface, interpreter, optimizer, etc., but at the same time to provide a much better backend supporting scalability, elasticity, availability and performance.
How can Xeround guarantee high-availability when it is running on Amazon EC2?
In case of failure, be it network, hardware or software, Xeround database continues to work with its existing resources. In parallel, new resources are automatically allocated to return the system to its predefined fault tolerance level. There is no need for you to configure anything and no need for the application to be aware of the changes.
Where is the data stored?
How do Xeround’s locks work?
The ability to choose among Optimistic and Pessimistic locking is planned to be offered shortly.
Do you support SSL connections or host-based permissions?
Managing Your Cloud Database
How do I connect to my database instance?
Your instance’s DNS hostnames and ports are available under the Details tab of your instance in the Xeround Database Instance Manager Console. We provide you with two DNS addresses:
- Internal DNS – points to the internal IP addresses and is used for accessing your DB from within the same datacenter
- External DNS is used for connecting from outside the data center.
* Due to Rackspace’s architecture, users running their DB instance on Rackspace’s data center should use the External DNS only to connect to their app.
The database instance’s username and password are those you provided when creating the instance.
Please refer to the Connecting your MySQL application to Xeround Cloud Database page for more information and examples.
I can’t connect at all or I keep getting connection errors, what’s wrong?
- Verify that your database is available: access Xeround’s Database Instance Manager page and verify that the instance’s status is Healthy.
- Connect to your database instance: establish a connection using phpMyAdmin by clicking the ‘DNS Name’ of your instance under the ‘Details’ tab.
- Note: you’ll need to enter your database instance’s username and password to complete the connection
- If you are unable to login successfully, please review the database credentials (i.e., username and password) that you are using. The credentials should either be those that you had supplied during the instance’s creation or ones that you had created independently after the instance was created.
- Review your application’s connection settings: make sure that you are using the correct hostname, port, user and password in your application to connect to your instance.
- Refer to the Connecting your MySQL application to Xeround Cloud Database page for more information and examples.
- Rule out application-specific issues: establish a direct connection to your database instance from the application’s server. This can be achieved using any of the below methods:
- Use MySQL’s command line utility from the server’s console. For example, use the following syntax to connect to the mydb database with the database credentials of the user john and password malon via port 4567 of the instance123.db.xeround.com hostname:
mysql -hinstance123.db.xeround.com -P4567 -ujohn -pmalon mydb
- Use telnet to verify connectivity from the server’s console, for example:
telnet instance123.db.xeround.com 4567
Note: being a generic client, telnet will only attempt to establish a network connection to the database instance (and not a database connection). This means that after connecting you will NOT be prompted for username and password and will get, most likely, what appears to be garbled characters. This is actually a good sign as it indicates that the connection went through. A connection failure, on the other hand, will be reported by an error message (e.g., “Unable to connect to remote host: Connection refused” or similar).
- Use any standalone MySQL client software (e.g., HeidiSQL, SQLyog or MySQL Workbench) from your application server to connect to your database.
- Use MySQL’s command line utility from the server’s console. For example, use the following syntax to connect to the mydb database with the database credentials of the user john and password malon via port 4567 of the instance123.db.xeround.com hostname:
- Access your database from a different server & network: repeat step 4 using a server other than that of your application to rule out server-specific issues. Similarly, repeat step 4 with a server that is connected to a different network to rule out network-specific issues.
- Note: some providers intentionally block access to arbitrary network ports. Contact the support department of your provider to verify that your database instance’s port is not blocked, and if it is make a request to open it.
How do I manage my database instance, add tables, check the data, etc.?
How can I retrieve data to my MySQL server?
Does Xeround support standard MySQL replication?
Is there a backup for the data and can I control the backup plan?
- “Hot” Backups – These are done online, with no service downtime or interruptions. Hot Backups are available only for Xeround PRO plan.
There are two types of Hot Backups:- Automated scheduled backups – Xeround PRO plan includes one daily system backup, performed automatically during your chosen backup window. Automated backups are also available during the free trial period.
- User initiated backups – You can initiate additional on-demand backups as frequently as you wish. You can initiate on-demand backups from within Xeround’s Management Console. User-generated backups are kept until you explicitly delete them.
- Export – These are available for Xeround BASIC edition and allow you to easily export your database from within the management console. The saved exports can be used as backup or for Restore purposes.
In addition to system backups and exports, you can also export your data at any time using SQL-Dump or any external backup tools.
To what extent is Xeround compatible with MySQL?
Why is an initial size required when creating a new Xeround PRO database instance?
Xeround automatically scale up or down to the exact needs of the application so that the database gets additional resources when it needs more size/throughput, and scales back down when it is underutilized. This effectively eliminates both over-provisioning and over-paying.
Please Note that if you’ve chosen a larger initial size than the actual data you import to your instance, your database instance will automatically shrink to accommodate its actual size within 7 days.
How do I determine the initial database instance’s size?
I created a database instance called foo but when I connect to it there is no database called foo – am I doing something wrong?
What do I do with the two DNS hostnames I get when creating a database?
Each Xeround instance is assigned with two connection DNS hostnames:
- Internal DNS points to the internal IP addresses and is used for accessing your DB from within the same datacenter
- External DNS is used for connecting from outside the datacenter.
Each DNS routes to one of the available IP addresses we supply for connecting to your database.
That way, if one IP address is temporarily unavailable, you can still connect to your database instance.
How is scalability handled by Xeround?
Scaling is triggered automatically, based on threshold-based rules that you can configure in the Database Instance Manager. Your database instance will automatically increase its resources when it detects more capacity or throughput are needed, and will shrink back down when it notices that it is under-utilized. Auto-scaling up and down is done with no database downtime and is transparent to the application, meaning no code changes or configuration changes are required.
This automatic elasticity also enables us to bill our users based on their actual usage and not by a pre-set instance size (often resulting in over-provisioning).
Is there a Xeround API?
For more details, see Xeround’s Cloud Database API documentation.


