Relational Databases in               Cloud Environment     Amazon RDS (MySQL and Oracle) and SQL AzureEmil Tabakovwww.eta...
Who Am I? Team lead at Telerik Professional   experience   Web applications development How to contact me   Twitter: ...
Agenda Architecture overview Features and limitations Pricing Scaling Development for cloud based   database Demo S...
Why Should We Care? To add another tool in your toolbox To be prepared for the future                                   ...
Relational Databases                       in the Cloud: Solutions Amazon RDS   SQL Server   new   MySQL   Oracle Mic...
SQL Azure Architecture Four layers   of abstraction   Client Layer    TDS protocol    Located on various environments ...
SQL Azure Architecture Four layers   of abstraction   Platform Layer    The physical database servers    SQL Azure fab...
Amazon RDS Architecture Dedicated virtual   machine Built on top of MySQL / Oracle   / SQL Server instances             ...
SQL Azure – Key Features SQL Azure is “native” cloud platform Offers management tool as a Service   Convenient even for...
SQL Azure – Limitations 150 GB database    size limitation Only a subset of features compared to SQL Server, no support ...
Amazon RDS – Key Features Full MySQL   / Oracle / SQL Server instance Database Backup / Restore functionality Database ...
Amazon RDS – Limitations Up to 4 hours a week downtime for maintenance   Usually no downtime Not really   cloud solutio...
Pricing in SQL Azure   Database size Price per database per month   0 – 100 MB      $4.995   100MB – 1GB     $9.99   1GB –...
Pricing in Amazon RDS Multi Availability Zone doubles the cost Additional    cost for data transfer Greater variety   o...
Scaling Scale-up (vertically)   Limited by the hardware   High administration costs (exponential) Scale-out (horizonta...
Sharding vs. Horizontal                                Partitioning Horizontal partitioning   Splitting database table i...
Scaling the Azure Cloud Limited Scale up opportunities Great Scale out options through federations   Collection of data...
SQL Azure Demo Working with Federations using Entity Framework
Scaling with Amazon RDS Good Scale-up opportunities   5 database sizes available (small, large, extra    large, double e...
Development with                             Cloud Databases Your database server will fail sooner or later Build statel...
Demo   Migrate a simple Web Application’sdata layer to various cloud environments
Legal Concerns Tracking and auditing    data Privacy   and data security   Physical and logical security requirements  ...
Choosing the Cloud for You New project or existing   one Define your project’s requirements and restrictions   Budget  ...
Choosing the Cloud for You (2) Have in mind your application    hosting environment   Increased latency   Possible secu...
Possible Use Cases Software as a service product Hosted trials   on Telerik                                             ...
Thank you! Twitter: @anthares Blog: www.etabakov.com Email: emil.tabakov   at telerik dot com       Thanks for attendin...
Relational Databases in Cloud                                                                                             ...
Homework   Create a relational DB account in some cloud       Use Amazon RDS or SQL Azure or Xeround Cloud        MySQL ...
Free Trainings @ Telerik Academy “Cloud Development" course @ Telerik    Academy       clouddevcourse.telerik.com   Tel...
Upcoming SlideShare
Loading in …5
×

9. Cloud software development - relational databases-in-cloud-environment

837
-1

Published on

Relational-Databases-in-Cloud-Environment
Telerik Software Academy: http://clouddevcourse.telerik.com/
The website and all video materials are in Bulgarian

Architecture overview;
Features and limitations;
Pricing;
Scaling;
Development for cloud based database;
Demo;
Some other considerations

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
837
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

9. Cloud software development - relational databases-in-cloud-environment

  1. 1. Relational Databases in Cloud Environment Amazon RDS (MySQL and Oracle) and SQL AzureEmil Tabakovwww.etabakov.comTelerik Software Academyacademy.telerik.com
  2. 2. 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 Disclaimer 2
  3. 3. Agenda Architecture overview Features and limitations Pricing Scaling Development for cloud based database Demo Some other considerations 3
  4. 4. Why Should We Care? To add another tool in your toolbox To be prepared for the future 4
  5. 5. Relational Databases in the Cloud: Solutions Amazon RDS  SQL Server new  MySQL  Oracle Microsoft  SQL Azure Google Cloud SQL  MySQL 5
  6. 6. SQL Azure Architecture Four layers of abstraction  Client Layer  TDS protocol  Located on various environments  Developed with different technologies  Services Layer  Provisioning  Billing and metering  Connection routing 6
  7. 7. SQL Azure Architecture 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 7
  8. 8. Amazon RDS Architecture Dedicated virtual machine Built on top of MySQL / Oracle / SQL Server instances 8
  9. 9. 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
  10. 10. SQL Azure – Limitations 150 GB database size limitation Only a subset of features compared to SQL 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
  11. 11. 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
  12. 12. 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
  13. 13. 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 GBEstimated cost for 50GB database a month: ~ $125 13
  14. 14. 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
  15. 15. Scaling Scale-up (vertically)  Limited by the hardware  High administration costs (exponential) Scale-out (horizontally)  Cost effective  Commodity class hardware  Multiple approaches  Sharding, horizontal partitioning 15
  16. 16. 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
  17. 17. 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
  18. 18. SQL Azure Demo Working with Federations using Entity Framework
  19. 19. 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
  20. 20. Development with Cloud 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
  21. 21. Demo Migrate a simple Web Application’sdata layer to various cloud environments
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. Possible Use Cases Software as a service product Hosted trials on Telerik 25
  26. 26. Thank you! Twitter: @anthares Blog: www.etabakov.com Email: emil.tabakov at telerik dot com Thanks for attending! 26
  27. 27. Relational Databases in Cloud Environment курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET http://academy.telerik.com програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезаниякурсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
  28. 28. 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
  29. 29. Free Trainings @ Telerik Academy “Cloud Development" course @ Telerik Academy  clouddevcourse.telerik.com Telerik Software Academy  academy.telerik.com Telerik Academy @ Facebook  facebook.com/TelerikAcademy Telerik Software Academy Forums  forums.academy.telerik.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×