+ All Categories
Home > Documents > Amazon RDS (MySQL and Oracle) and SQL Azure Emil Tabakov Telerik Software Academy...

Amazon RDS (MySQL and Oracle) and SQL Azure Emil Tabakov Telerik Software Academy...

Date post: 17-Dec-2015
Category:
Upload: gordon-oliver
View: 224 times
Download: 0 times
Share this document with a friend
Popular Tags:
28
Relational Databases in Cloud Environment Amazon RDS (MySQL and Oracle) and SQL Azure Emil Tabakov Telerik Software Academy academy.telerik.com relational
Transcript

Relational Databases

in Cloud Environment

Amazon RDS (MySQL and Oracle) and SQL Azure

Emil TabakovTelerik Software

Academyacademy.telerik.com

relational

Who Am I? Team lead at Telerik Professional experience

Web applications development How to contact me

Twitter: @anthares

Blog: www.etabakov.com

Email: emil.tabakov at telerik dot com

Disclaimer2

Agenda Architecture overview Features and limitations Pricing Scaling Development for cloud based database

Demo Some other considerations

3

Why Should We Care?

To add another tool in your toolbox

To be prepared for the future

4

Relational Databasesin the Cloud: Solutions

Amazon RDS SQL Server new

MySQL

Oracle Microsoft

SQL Azure Google Cloud SQL

MySQL5

SQL Azure Architecture

6

Four layers of abstraction Client Layer

TDS protocol

Located on various environments

Developed with different technologies

Services Layer

Provisioning

Billing and metering

Connection routing

SQL Azure Architecture

7

Four layers of abstraction Platform Layer

The physical database servers

SQL Azure fabric

Automatic failover, load balancing and

automatic replication between all the

physical servers

Infrastructure Layer

Amazon RDS Architecture

Dedicated virtual machine Built on top of MySQL / Oracle / SQL Server instances

8

SQL Azure – Key Features

SQL Azure is “native” cloud platform

Offers management tool as a Service Convenient even for non-SQL

developers Disaster recovery solution

Out of the box at no cost Roadmap and community

Lots of sessions, clear vision for improvement

Generally, cheaper

9

SQL Azure – Limitations 150 GB database size limitation Only a subset of features compared toSQL Server, no support for: Analysis services

Replication

Service Broker

Manipulating physical resources

Setting server options, trace flags, SQL server profiler or database advisor, no CLR

10

Amazon RDS – Key Features

Full MySQL / Oracle / SQL Server instance

Database Backup / Restore functionality

Database size – up to 1 TB Available for developers all over the world today

Generally better performance than SQL Azure

11

Amazon RDS – Limitations

Up to 4 hours a week downtime for maintenance Usually no downtime

Not really cloud solution More like database hosting solution

Could cost a lot

12

Pricing in SQL Azure

Database size

Price per database per month

0 – 100 MB $4.995

100MB – 1GB $9.99

1GB – 10GB $9.99 for the first GB, $3.996 for each additional GB

10GB – 50GB $45.954 for first 10 GB, $1.998 for each additional GB

50GB – 150GB

$125.874 for first 50 GB, $0.999 for each additional GB

13

Estimated cost for 50GB database a month:

~ $125

Pricing in Amazon RDS Multi Availability Zone doubles the cost

Additional cost for data transfer Greater variety of hardware configurations

The billing depends on Usage

Provisioned storage

I/O requests Harder to be predicted 14

Scaling Scale-up (vertically)

Limited by the hardware

High administration costs (exponential)

Scale-out (horizontally) Cost effective

Commodity class hardware

Multiple approaches

Sharding, horizontal partitioning15

Sharding vs. Horizontal Partitioning

Horizontal partitioning Splitting database table in multiple

tables within a single database instance

Going further with sharding Splitting between multiple

instances Advantages of sharding:

Split the search load between multiple instances (not only multiple indexes)

Easier replication, worldwide distribution

16

Scaling the Azure Cloud Limited Scale up opportunities Great Scale out options through federations Collection of database partitions

defined by federation scheme

No joins supported across multiple database instances because of the physical separation

17

SQL Azure DemoWorking with Federationsusing Entity Framework

Scaling with Amazon RDS

Good Scale-up opportunities 5 database sizes available (small,

large, extra large, double extra large, quadruple extra large)

Standard and High memory options No out of the box scale-out solution But there are various home grown

solutions available

19

Development withCloud Databases

Your database server will fail sooner or later

Build stateless application Databases in cloud are different from those on the ground

Have in mind the pricing model of your cloud provider

Have in mind that the location of your DB can be changed any time

20

DemoMigrate a simple Web Application’s

data layer to various cloud environments

Legal Concerns Tracking and auditing data Privacy and data security

Physical and logical security requirements

EU Directive on data protection (95/46/EC)

Accessing the data by the vendor Jurisdiction concerns – US Patriot Act

Limitations on Vendor Liability No warranty, limited responsibility

in case of accidents

22

Choosing the Cloud for You

New project or existing one Define your project’s requirements and restrictions Budget

High availability

High Scalability

Ease of use

Performance

23

Choosing the Cloud for You (2)

Have in mind your application hosting environment Increased latency

Possible security flaws Be prepared for a change Free Azure subscription for BizSpark members

24

Possible Use Cases Software as a service product Hosted trials on Telerik

25

Questions?

26

Thank you!

Twitter: @anthares

Blog: www.etabakov.com

Email: emil.tabakov at telerik dot com

Thanks for attending!27

Homework Create a relational DB account in

some cloud

Use Amazon RDS or SQL Azure or Xeround Cloud MySQL or other cloud relational DB

Define a table "Bookmark" with columns "URL" and "Description" and table "Clicks" to store the click count for each bookmark entry

Create a console or Web based application Use C#, Java, PHP or other language

Your application should add few bookmarks, list all bookmarks and a click for the first bookmark

28


Recommended