Download Cloud-ready enterprise database

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Commitment ordering wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Microsoft Access wikipedia , lookup

Global serializability wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Serializability wikipedia , lookup

IMDb wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Oracle Database wikipedia , lookup

Ingres (database) wikipedia , lookup

Functional Database Model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Concurrency control wikipedia , lookup

Database model wikipedia , lookup

Clusterpoint wikipedia , lookup

ContactPoint wikipedia , lookup

Transcript
A Cloud-Ready Enterprise
Database Checklist
An EnterpriseDB
White Paper
For DBAs, Application
Developers, and Enterprise
Architects
2012
© 2012 EnterpriseDB Corporation. All rights reserved. EnterpriseDB and Postgres Plus are trademarks of EnterpriseDB
Corporation. Other names may be trademarks of their respective owners. www.enterprisedb.com
Table of Contents
Introduction ............................................................................................................................................................. 3!
What are the Important Characteristics of an Enterprise Cloud Database? .................................. 4!
Proven and Robust Database / Features ..................................................................................................... 4!
Administration Ease of Use & Automated Provisioning ........................................................................ 5!
High Availability (HA) and Redundancy ....................................................................................................... 6!
High Performance ................................................................................................................................................. 7!
Transparent Scalability and Elasticity ........................................................................................................... 7
Strong Security ...................................................................................................................................................... 8!
Multiple Cloud Environment Support ............................................................................................................ 9!
Low Cost .................................................................................................................................................................10!
Summary: An Enterprise Cloud Database Checklist ............................................................................11
Conclusion .............................................................................................................................................................13!
About EnterpriseDB ...........................................................................................................................................13
2
Introduction
A recent study done by the IT industry analyst group IDC found that, while cloud computing accounts
for less than 2% of IT spending today, it’s estimated that by 2015 nearly 20% of all information will be
"touched" and enabled by cloud computing environments. IDC believes that as much as 10% of all
1
data will be maintained in a cloud by 2015.
This equates to large volumes of data being stored in the cloud, with much of it being offered in a
database-as-a-service (DBaaS) fashion. The data volumes stored in the cloud will likely be
enormous, considering that IDC predicts a 50X data growth multiple in the next decade.
Modern businesses are looking to both public and private clouds as enablers for their database
management systems. However, many admit that they struggle with selecting the database
provider(s) to utilize in their move to cloud computing and what features they need in order to benefit
from such a move. This paper examines the question of what constitutes an enterprise-class
database that takes advantage of the various benefits of cloud computing environments.
1!
http://idcdocserv.com/1142
3
What are the important characteristics of an
enterprise cloud database?
There are many software vendors who claim to have a cloud database. However, oftentimes this
equates to the vendor having an Amazon machine image (AMI) of their database server that can be
installed and run on a cloud provider’s platform. While certain benefits can be had through such a
deployment, the full potential of cloud database computing cannot be realized through such a
simplistic offering.
In addition, there is also a perception that new specialized databases based on NoSQL technology is
what constitutes a true cloud database, when in fact these specialized databases serve the needs of
a specific category in the market and they are beginning to integrate or co-exist with traditional
relational database systems that serve equally important functions.
This naturally begs the question of what does represent a robust feature set for an enterprise-ready
cloud database – one that combines proven data management functionality with the advantages that
come from running in a cloud environment? While experts may disagree on some particular featureset items, almost all agree on the following set of criteria.
First and foremost, a cloud database needs to meet the requirements and rigors expected of any
database whether it’s hosted in a cloud or not. For the vast majority of database applications in use,
this means supporting the wealth of features commonly available in a traditional relational database
as embodied by the big three: Oracle database, IBM DB2, and Microsoft SQL Server.
From the perspective of cloud based database computing and the promise it brings to the enterprise,
organizations should focus on evaluating the following characteristics:
•
•
Proven and Robust Database / Features
Many, if not most, users of databases are looking to their existing database vendors for cloud
solutions. This makes sense if an organization is generally satisfied with its database choice and
4
wishes to take advantage of the benefits of cloud computing. So, from a traditional database
standpoint, users may expect to use their proven databases such as Oracle, DB2 and SQL Server
along with the features they currently enjoy in a cloud offering.
However, many organizations are already considering open source databases to reduce their
licensing costs and will want to work with these in a cloud environment. While there are many open
source databases already in the cloud, many of these are either specialized for specific application
use cases, and not suited to the multitude of applications better served by traditional relational
databases, or they have yet to be proven over years of development, standards adoption, use and
reliability. For these reasons, users are rightfully cautious to avoid a type of ‘double jeopardy’ posed
by moving into a new computing environment (the cloud) and an as-yet unproven database model.
So when it comes to open source choices for cloud computing, the most likely databases to consider
are MySQL and PostgreSQL. These databases offer the double benefit of being well known and
proven databases that can reduce costs and if used in a cloud environment can reduce costs even
further.
Additionally, whether proprietary or open source, users foraying into the
cloud will certainly not want to experience the loss of any features they
currently use just because they are in a cloud environment, indeed they
will be expecting just the opposite. So an important question to ask any
cloud database vendor is will they lose any features as a cost for moving
to the cloud?
Finally, because of the cloud’s reliance on virtual machine instances
(creating potentially many database clusters), your cloud database vendor needs to have a reliable
plan in place to manage and update your database software for regular maintenance releases and
ad-hoc security updates as well.
Administration Ease of Use/Automated Provisioning
Nearly every IT industry analyst group says that the ratio of database administrators to managed
databases continues to move in a direction where, each year, a DBA is managing more databases
than the year prior. This is not surprising given the explosive growth in data across all industries.
As an example, according to a
recent report from consulting
giant McKinsey & Company,
the average investment firm
with fewer than 1,000
employees has 3.8 petabytes
of data stored and experiences
a data growth rate of 40
2
percent per year.
2!
http://www.mckinsey.com/mgi/publications/big_data/index.asp
5
The absolute last thing a database administration staff wants or needs is an increased management
burden that comes from administering databases in the cloud. Steep learning curves, inadequate or
non-existent tools, and other issues can be steep barriers to cloud database adoption.
To stave off these and similar problems, the cloud database should include a management
framework that includes smart and intuitive interfaces, which allow a DBA to easily setup, manage,
monitor, and control their cloud database deployments. Such tooling would enable an increase in
the database to DBA ratio without adding pain.
At the heart of making DBAs more efficient with more databases, is automated provisioning.
Virtualization has made provisioning templated operating system and database installations much
easier, and is supported in cloud environments. However, with databases there are other, more
complex, tasks that are ripe for automating in a cloud environment. One such example is load
balancing. Since scaling involves the addition of new database instances, (i.e. multiple database
instances are used for a single logical database), a built-in form of load balancing should also be
present that helps reduce or eliminate machine hotspots especially where query activity is
concerned.
Another great candidate for automatic provisioning in the cloud is creating high availability setups
using native database features like replication and automatically expanding these configurations in
response to demand.
Finally, automated provisioning and easy administration of cloud databases is especially important
for application developers at small companies and development departments in large organizations.
They don’t have the time, inclination, or skills to deal with database deployment, administration and
management issues, and they stand to benefit greatly from a competent cloud database provisioning
and management system.
High Availability (HA) and Redundancy
There is no question that database downtime adversely impacts a company’s business. The cost of
database downtime varies, with average downtime charges ranging anywhere from approximately
$90,000 per hour in the media sector to about $6.48 million per hour for
3
large online brokerages.
One expectation of a good cloud database is that it should offer both high
degrees of uptime as well as redundancy in the case of a machine or
zone/region failure that occurs within the cloud provider’s infrastructure.
Both of these attributes help guarantee little to no business disruption for
the applications that make use of the database.
Integral to HA are fast and efficient fail-over features that execute automatically and are easy to
deploy and setup across geographies. Cluster recovery and server replacement in the event of a
server going offline should be automatic and easy to manage with little impact on user operations.
Finally, backups need to be automated, grandfathered if desired, and their recovery require little
intervention from a DBA.
3!
http://www.information-management.com/infodirect/2009_133/downtime_cost-10015855-1.html
6
High Performance
In today’s always-on business world, where the competition is just a click away and decisions have
to be made as quickly as possible, fast database performance has never been more important.
4
Consider the following facts from some of today’s premier software and services providers on how
performance impacts their business:
These facts speak for themselves where a cloud’s
database performance is concerned.
The database under consideration must exhibit both
strong read and write performance, and also have the
ability to increase performance through the addition of
more database nodes when the underlying user traffic
demands faster response times as is so common with
many popular applications both on the traditional
internet and more recently the mobile web (tablets and
smart phones).
Transparent Scalability and Elasticity
Transparent database characteristics in the cloud refer to the ability to modify a cloud database
setup without interruption or degradation to the user community and without any modifications to
applications using the data. This is obviously a critical feature of managing and maintaining any
database and necessary in the cloud as well.
One statement made by nearly every successful business that sees rapid growth in demand for its
products and services is, “I never thought we’d grow so fast!” Accelerating customer activity for a
company translates into increased transactional and query traffic for the databases that power the
key applications, which drive the underlying business. If the underlying database is not capable of
growing along with a company’s increased customer traffic, then the business simply becomes
bottlenecked with the end results being low customer service satisfaction ratings and lost revenue.
4!
For the individual references for each statistic, see: http://blog.equinix.com/2011/03/optimizinginternet-application-performance/
7
Scalability refers to the ability of a cloud database to ramp up raw compute power (CPU/RAM), add
physical data storage when needed and add additional database instances to service more active
users and connections. This keeps the business growing fast without a loss in service levels.
Elasticity addresses the ability to scale compute power, storage and database instances up or down
as performance and user access wax and wane for some applications. This is one area where cloud
features can help data centers approach utility-like pricing for the resources they use and not be
saddled with compute power/hardware that is idle and costly to the bottom line.
A cloud database should exploit the elasticity capabilities of the cloud, meaning that it should allow
for easy and transparent additions of new database nodes that increase the overall scalability of the
underling database to serve more users. An added bonus involves the cloud database proactively
detecting capacity shortfalls in advance according to user-defined thresholds and adding new
capacity without any user intervention.
Finally, since scaling involves the addition of new database instances (i.e. multiple database
instances are used for a single logical database), adjustments to related features like load balancing
should be automatic as well.
Strong Security
In September 2011, LinkedIn questioned its user base about their main concerns with moving to a
cloud-based infrastructure. By a margin of over two to one, the primary worry in these professionals’
minds was security.
8
These results are not surprising given that many businesses retain sensitive customer information
that, if lost, stolen, or compromised, could result in large monetary damages, lost revenue for the
business, and damage to its reputation. According to the Ponemon Institute’s six annual U.S. Cost of
a Data Breach Study, the average total per-incident cost of a security breach for a business was $7.2
million.
In addition, many IT shops are still unsure of outsourcing their computing resources and the
consequent reduction in control of those assets. That said, it’s important to keep in mind that
outsourcing IT functions is exactly what many new businesses are looking for. In either case,
security only becomes more important.
Because of these and similar facts, it’s paramount that the cloud database provide strong security
features in the areas of secured data transfer, external authorization, system permissions, and object
access. Furthermore, the cloud database should offer built-in auditing that easily allows
administrators to answer the questions of “who looked at what when?” and “who changed what
when?”
In addition, with SQL injection attacks on the rise, a cloud database must offer some sort of SQLbased firewall against SQL injection attempts.
One last consideration is for companies that utilize the database for all or part of their application
logic (e.g. through stored procedures, functions, etc.) Businesses should require that the cloud
database be able to encrypt code objects stored in the database to guard their corporate IP.
Multiple Cloud Environment Support
Another key requirement of an enterprise-class cloud database is that it must support popular public
cloud providers (e.g. Amazon EC2, Rackspace, etc.) as well as software from private cloud vendors
in case a business wishes to deploy cloud-style applications both inside and outside their data
center. Such support ensures the business is not locked in to one particular cloud provider or private
cloud software vendor. It also provides a measure of choice in seeking out the best cost structure
over time or by application need.
It is also not desirable to rely on the provider to provide a cloud database provisioning and
management system, as they typically aren’t database experts. So, various implementations of the
same database engine can vary widely in quality and performance. It is more desirable to have a
database vendor provide the critical database features across any cloud environment for consistency
and expertise.
9
Low Cost
Some traditional RDBMS providers are as expensive or more expensive in a cloud deployment as
they are in a typical on-premise implementation. While most IT professionals who begin investigating
cloud strategies as an alternative to typical on-premise architectures assume they will see reduced
software costs in a cloud implementation, they oftentimes have a rude awakening when they see no
cost reductions where their database is concerned.
Open source software has challenged proprietary vendors on many fronts where cost is concerned
in the cloud (e.g. application servers, middleware, etc.), but the database layer has not experienced
as much disruption. The primary reason is, while open source databases such as Oracle’s MySQL
do offer cost savings over legacy RDBMS vendors, MySQL does not have the enterprise-class
feature set needed by many modern businesses for their cloud-enabled applications.
It is common knowledge that PostgreSQL has a superior feature set to MySQL. However, until
recently, a version of PostgreSQL that is cloud ready has not been available even though demand
has been extremely strong as evidenced by the amount of requests seen on Amazon’s AWS forums:
This situation has now changed with the development of Postgres Plus Cloud Database by
EnterpriseDB.
10
Summary: An Enterprise Cloud Database Checklist
Below is a chart summarizing many of the topics mentioned in this paper, to be used as a checklist.
The companion white paper “Postgres Plus Cloud Database – An Enterprise-Ready Cloud
Database” discusses in detail how EnterpriseDB’s new Postgres Plus Cloud Database addresses
each one of the topics below.
Cloud Database
Postgres Plus Cloud
Requirement
Database
Database
Use Case Fit
Enterprise class
features
Full compliment of
tools
Proven track record
No feature restrictions
Upgrade path
Administration Ease of Use and Automation
Browser-based
Console
Point and Click
Interface
Automatic
Deployments
Auto-setup Load
Balancing
Auto-setup
Replication
Automatic Scaling
Global Status
Developer Sandbox
Clones
High Availability and Redundancy
Reliable Binary
Replication
Automatic Setup
Automatic Backups
Automatic Failover
Easy Failback
Multi-geography
support
Option 2
Option 2
11
High Performance
High Write
Throughput
High Read
Throughput
Automatic Load
Balancing
Automatic node
additions
Transparent Scalability and Elasticity
Transparent
Operations
Scale Compute Power
Scale Storage
Scale Server
Instances
Scale Connections
Scale Up / Scale
Down
User Set Scaling
Thresholds
Strong Security
Secure Data Transfer
External
Authentication
System Permissions
Object Access Rights
Built-in Auditing
SQL Injection
Protection
Server Code
Obfuscation
Supported
Environments
Public Clouds
Private Clouds
Traditional Hardware
Low Cost
Pure Open Source
Option
Low Cost Proprietary
Option
12
Conclusion
Industry analysts agree that a wide-scale move to cloud computing is already under way, with a key
responsibility of cloud-based systems being the delivery of a lower cost, easier to manage
infrastructure that doesn’t sacrifice existing functionality while providing new options for scalability
and elasticity not available in traditional deployments. To competently deliver this, and handle the
expected wave of data flowing into cloud-based systems, a cloud database must contain a proven
and enterprise-class feature set, but also be able to fully deliver on the benefits that come with a
move to cloud computing.
About EnterpriseDB
EnterpriseDB is the enterprise PostgreSQL company, providing products and services worldwide
that are based on and support PostgreSQL, the world's most advanced open source database.
EnterpriseDB’s Postgres Plus products are ideally suited for transaction-intensive applications
requiring superior performance, massive scalability, and compatibility with proprietary database
products. Postgres Plus products provide an economical open source alternative or complement to
proprietary databases without sacrificing features or quality.
EnterpriseDB understands that adopting a new database is not a trivial task. You have lots of
questions needing answers, schedules and budgets to keep, and processes to follow. We have
helped thousands of organizations like yours through the steps to investigate, evaluate, prove,
develop, and deploy their PostgreSQL solutions.
If you would like to discuss training, consulting, or enterprise support options, please contact
EnterpriseDB directly. EnterpriseDB has offices in North America, Europe, and Asia. The company
was founded in 2004 and is headquartered in Bedford, MA. For more information, please visit
http://www.enterprisedb.com.
Sales Inquiries:
[email protected] (US)
[email protected] (Intl)
+1-732-357-3390
+1-877-377-4352
General Inquiries:
[email protected]
[email protected] (APAC)
[email protected] (EMEA)
+1-732-357-3390
13