Agile Cat — Azure & Hadoop — Talking Book

October 27, 2009

SQL Azure October CTP Invitation

Filed under: SQL Azure — Agile Cat @ 6:52 am

Tue 10/27/2009 4:14 AM

こんなメールが届いていました。 こちらを見るほうが、話が早いかもしれませんが、これから PDC へ向けて、発表が目白押しとなるのでしょうね。楽しみですね --- A.C.

Welcome to the SQL Azure October CTP!  We are excited to have you join us.  Below are some steps to get you started, as well as links to helpful resources. 

Getting Started

1)     Visit https://sql.azure.com
2)     Sign in with a valid Windows LiveID
3)     Enter your invitation code
        Your invitation code is: xxxxxxxxxx-xxxxxxx-xxxxxx-xxxx
4)     Create your SQL Azure Server (and databases)

Helpful Resources and Tips

SQL Azure Documentation:
http://msdn.microsoft.com/en-us/library/ee336279.aspx

SQL Azure Forum:
http://social.msdn.microsoft.com/forums/en-US/ssdsgetstarted/threads/

SQL Azure Blog:
http://blogs.msdn.com/ssds/

Quick Tip:  Using SQLCMD with SQL Azure
http://msdn.microsoft.com/en-us/library/ee336280.aspx

Q & A

 

Q: What are my restrictions, if any, for this CTP?
A: The CTP will limit you to 1 SQL Azure server and 5 databases

Q: What happens to my database when SQL Azure officially releases?
A: Your database will automatically roll over into the production service once SQL Azure reaches commercial availability.

Q: I have a database in the old CTP1 SQL Azure service. Can I get access to it?
A: Yes, if you would like to access and view your August CTP server and databases, you can still do that, using the developer portal available at this address:
https://ctpportal.database.windows.net

Q: I understand that there are 1GB (Web Edition) and 10GB (Business Edition) versions of SQL Azure, how do I specify this through my application?
A: This is surfaced both in the SQL Azure Portal and in the T-SQL Create Database statement. The syntax is as follows:
     CREATE DATABASE foo (MAXSIZE = 1GB) For a Web Edition Database
     Or
     CREATE DATABASE foo (MAXSIZE = 10GB) For a Business Edition Database

Q:  What is the quickest way to get help if my sign up process has a problem?
A:  Please visit the forum, we will monitor that closely

Q:  How can I get a Windows Azure account?
A:  please visit
http://www.microsoft.com/azure/windowsazure.mspx and sign up

Sincerely,

SQL Azure Team

Please note that this email alias is unmonitored and all questions should be directed to the above “SQL Azure

こちらも ど~ぞ!

いよいよ、SQL Azure の PDC バージョンが!

October 18, 2009

いよいよ、SQL Azure の PDC バージョンが!

Filed under: SQL Azure — Agile Cat @ 9:44 am
Tags: , , , ,

SQL Azure Team Blog からの最新ニュース!

Updated CTP for SQL Azure Database includes complete feature set for PDC 2009!
From <http://blogs.msdn.com/ssds/archive/2009/10/14/9907238.aspx>

SQL Azure Oct 09 Version

A few short weeks ago we announced the SQL Azure Database August CTP. Since the announcement, tens of thousands in the community have signed up for the service and have provided us with a tremendous amount of positive feedback. Today, the SQL Azure Database October CTP (CTP 2) update is another major milestone as we get ready for the Professional Developers Conference (PDC) on November 17th – 20th, 2009. We are also excited to announce that this CTP represents the complete feature set that will be available in the SQL Azure Database at PDC.

数週間前に、SQL Azure Database August CTP についてアナウンスした。その後に、たくさんのコミュニティが、このサービスにサインアップし、また、たくさんのポジティブ・フィードバックが寄せられた。そして今日(10/14)、私たちが PDC(11/17-20) へ向けて用意する新たなメジャー・マイルストーンである SQL Azure Database October(CTP2)についてアナウンスする。この CTP に含まれるのは、PDC における SQL Azure Database で利用可能となる、完全な機能のセットである。そのため、きわめてエキサイティングなアナウンスメントとなる。

“We see SQL Azure as the perfect fit for information that needs to be kept in one safe, well-structured, accessible spot. Partitioning the data helps ensure scalability as more and more users interact with the site, and it also isolates tracking resources, helping avoid single points of failure,” said Luigi Rosso, Chief Technology Officer at leading interactive firm, Archetype. “To establish the kind of default redundant installation we get with SQL Azure, we’d have to purchase at least two dedicated servers and hire IT staff to administer them. A reliable system in place that is managed, efficient, and fast is critical for us. With SQL Azure, we don’t have to buy servers or manage and monitor them for capacity to ensure availability for our customers.”

” SQL Azure は、安全性/構造化/特定ポイントへのアクセスを保持する必要のある、情報に対して完全にフィットするものと捉えている。データのパーティショニングにより、多数のユーザーがアクセスするサイトでのスケーラビリティが保証される。また、リソースに対するトラッキングを分離することで、シングル・ポイント・フェイルの回避も促進される。たとえば、SQL Azure から得られるディフォルトの冗長性といったものを確立するために、これまでにおいては、2台の専用サーバーと、それらを管理するための IT スタッフが必要だった。管理性と、効率性と、高速性を備えた、適切に配置された信頼できるシステムが、私たちにとって不可欠である。SQL Azure により、それらのサーバーが不要となり、また、顧客に対して可用性を保証するための、キャパシティ・モニタリングも不要となる” — Archetype の Chief Technology Officer である Luigi Rosso 氏。

The October CTP has been deployed to one of our go-live production clusters. This production cluster is significantly larger and more powerful than the machine cluster that is supporting the August CTP but is a completely separate machine cluster serviced by a dedicated developer portal (https://sql.azure.com). Accounts for all existing users of the current CTP (August CTP) have been automatically provisioned for access to the new October CTP and environment. Simply go to the developer portal (https://sql.azure.com) to activate your account and create servers on the new environment. Servers you create on this new environment will be reachable through a new address(<servername>.database.windows.net – we’ve dropped the ‘ctp’ moniker from the base address name).

October CTP は、実運用環境として提供されるクラスタの一部にディプロイされる。 この実運用クラスタは、August CTP をサポートしているマシン・クラスタと比べて、きわめて大規模でありパワフルであるが、専用のデベロッパー・ポータル(https://sql.azure.com)が提供する、完全に分離されたマシン・クラスタとなる。既存の CTP(August CTP)上のユーザー・アカウントは、新しい October CTP 環境へのアクセスのためにプロビジョニングされる。シンプルに、デベロッパー・ポータル(https://sql.azure.com)へ行き、新しい環境におけるアカウントをアクティベイトし、サーバーを作成できる。そこで作成されたサーバーには、新しいアドレス(<servername>.database.windows.net – we’ve dropped the ‘ctp’ moniker from the base address name)を介してアクセスすることが可能となる。

When SQL Azure Database becomes generally available, this environment will automatically roll over into a fully supported production environment and all your databases and data in this environment will be converted into an active subscription to the SQL Azure Database service based on the subscription offer you choose.

SQL Azure Database が実運用に移行するとき、この環境がフル・サポートの実運用環境に展開され、ユーザーのデータベースとデータも、選択されているサブスクリプションにしたがった、SQL Azure Database サービス内にコンバートされる。

Note: Existing servers and databases that you created in the August CTP environment will still be fully accessible and available through the current service URL (<servername>.ctp.database.windows.net), in parallel with the October CTP environment. The developer portal for the August CTP environment will also continue to be available, although through a new URL (https://ctpportal.database.windows.net ). As noted above, the previous URL will be re-used to support the new production environment.

Note: August CTP で作成された既存のサーバーとデータベースは、現行の URL(<servername>.ctp.database.windows.net) を介してアクセスが可能であり、また、October CTP 環境と平行して運用できる。なお、August CTP のためのデベロッパー・ポータルも継続利用が可能であるが、新しい URLhttps://ctpportal.database.windows.net )を利用することになる。上記の Note のように、以前の URL が、新環境をsポートするために再利用される。

As the August CTP is running on hardware below our production standard, that environment will not roll over into a production environment as part of our go-live plans. That environment will be decommissioned by the end of the year (Dec ’09).

August CTP を実行するハードウェアは、私たちの基準に満たないため、以降プランの中で、新しい運用環境に展開することは考えていない。 この、従来からの環境は、今年の末(2009/12)に廃止される。

We invite you to begin to use the new cluster to take advantage of all the cool new relational features available as part of the updated service!

今回のアップデート・サービスの一部として提供される、新しく Cool なリレーショナル機能のアドバンテージを活用するために、新しいクラスタを利用して欲しい。

The key new features included in this October CTP are listed below.

October CTP に含まれる新しい機能は以下のとおり:

  • Firewall Support – The new firewall features allows a customer to specify an allow list of IP address that can access their SQL Azure Server. Security is a concern for companies looking at storing data in the cloud and with this new feature you can rest assured that only hosts you specify will be allowed to connect. Please be aware that your firewall will deny all connections by default, so please go to the SQL Azure Portal and configure your allow list so that existing clients can continue to connect.
  • Support for Bulk Insert – One of the pain points we heard from customers was around the speed at which they were able to load data into the system. We have taken this feedback and have enabled support for Bulk Insert. This will improve the rate at which you are able to load data into the system by a few orders of magnitude. This change also enables you to use the SqlBulkCopy class from within ADO.Net
  • Database Edition Selection – This allows you to select which SQL Azure Database edition (Web Edition (up to 1GB relational database) or Business Edition (up to 10GB relational database)) is created during the database provisioning process. This is surfaced both in the SQL Azure Portal and in the T-SQL Create Database statement. For example, to create a Business Edition database the T-SQL command would be as follows:

            CREATE DATABASE foo (MAXSIZE = 10GB)

  • Updates to SQL Azure Portal – We have made numerous functionality changes and bug fixes in the portal. These include database edition selection when creating a database in the portal, viewing the size of your database and also the ability to configure your firewall settings.
  • Additional T-SQL Support – Due to customer demand, we have enabled support for additional T-SQL statements. The complete list can be found on MSDN and it includes support for items like Synonyms, Types, Table Value Parameters, additional systems views and more.
  • Updated SQL Azure Server Properties – We have finalized the internal SQL Server engine properties so you can reliably tell if you are connecting to an instance of SQL Server on premises or connecting to SQL Azure in the cloud. The major changes include a new value for Edition of “SQL Azure” and a new Engine Edition value of “5”. For further details please refer to the SQL Azure documentation on MSDN.
  • Updated SQL Azure Error Messages – We have enhanced the error messages returned should an error occur. Our goal to ensure that should you experience an error, the message received is meaningful and actionable by you.

Consuming data stored in SQL Azure Database is also critical, so as a reminder, the updated SQL Server Driver for PHP 1.1 with support for SQL Azure Database was recently released and can be found here. In addition to SQL Azure Database support, this release includes significant enhancements for PHP development including support for PHP version 5.3, performance improvements, and new features such as scrollable results sets, row count, and support for UTF-8 encoding. If you would like to find out more, you can check out the documentation on MSDN. Also, you should download the refreshed Windows Azure Platform Training Kit that reflects the changes in this October CTP.

A good portion of the new features and enhancements for this CTP came to us as requests from the user community. We listen to and appreciate your feedback as it helps us to build a better platform that will provide you critical capabilities for your database workloads. Please keep the feedback coming.

When we started this journey our goal was to extend the SQL Server Platform to the cloud and to provide our customers with relational database features and availability with cost efficiencies. We are on track to deliver that goal at PDC. There is much more to come as we continue to light up new scenarios and experiences. There will be more on this at PDC ‘09 and the SQL Azure team hopes to see everyone there.

clip_image002

Published Wednesday, October 14, 2009 9:58 AM by davidrob

September 8, 2009

SQL Azure Migration Wizard

Filed under: SQL Azure — Agile Cat @ 9:34 am
Tags: , ,

SQL Azure Migration Wizard が CodePlex に!

http://sqlazuremw.codeplex.com/

ローカルに配置されている、既存の SQL Server 2005 / 2008 データベースを、SQL Azure に移行するための手順をサポートするウィザードとのことです。

Project Description
The SQL Azure Migration Wizard helps you migrate your local SQL Server 2005 / 2008 databases into SQL Azure. The wizard walks you through the selection of your SQL objects, creates SQL scripts suitable for SQL Azure, and allows you to edit / deploy to SQL Azure.

Project Details
The SQL Azure Migration Wizard (SQLAzureMW) will let you identify a SQL Server 2005 / 2008 database that you want to migrate to SQL Azure or select an existing SQL file that has the commands you want to execute against SQL Azure.
If your source is a SQL Server database, SQLAzureMW will walk you through the different object types (i.e. Tables, Stored Procedures, Views, etc.) and let you decide which ones you want analyzed / scripted. You will be given two options:

  • Script to window / SQL Azure – Choose this option to display the SQL script to a wizard window where you can modify it before telling the wizard to script to Azure.
  • Script to file – Choose this option if you want to save your SQL script to a file. You can edit this file in SQL Server Management Studio and run it from there or save it and use the wizard to load and run your file.

This wizard will automatically try to make changes to your SQL Azure tables / stored procs / view (for example, text columns will become varchar(max) columns). If you have XML schema collections, it will unbind them since XML schema collections are not supported in the current version of SQL Azure. If you have UDTs defined it will replace them with base type because UDTs are currently not supported in SQL Azure. There are some things like hierarchyID that is not supported by SQL Azure and this program cannot replace automatically. In cases like this, you will have to refactor your code to use something else before you will be able to migrate to SQL Azure.

SQL Azure

OakLeaf でも、以下のように取り上げられています:

Monday, September 07, 2009
Using the SQL Azure Migration Wizard with the AdventureWorksLT2008 Sample Database

http://oakleafblog.blogspot.com/2009/09/using-sql-azure-migration-wizard-with.html

@rogerjenn で知りましたが、強力ですね Twitter は! --- A.C.

 

August 19, 2009

対訳 : Try SQL Azure Database CTP Today

SQL Azure

Check out the free trial of Microsoft® SQL Azure Database Community Technology Preview (CTP).  SQL Azure Database, a part of the Windows Azure platform, is a cloud-based database service built on Microsoft SQL Server technology.   With SQL Azure organizations will benefit from a pay-as-you grow model with enterprise-class availability, data protection, scalability, and security.

Microsoft® SQL Azure Database Community Technology Preview (CTP) のフリー・トライアルをチェックして欲しい。SQL Azure Database は Windows Azure platform の一部であり、また、Microsoft SQL Server テクノロジー上に構築された、クラウドベースのデータベース・サービスである。SQL Azure を用いることで、エンタープライズ・クラスの可用性とデータプロテクション、そしてスケーラビリティとセキュリティを備えた、a pay-as-you grow model からのメリットが得られることになる。

Also available as a CTP is the SQL Server Driver for PHP 1.1, which provides new capabilities for building PHP applications and support for SQL Azure, enabling developers to build PHP apps with relational database capabilities using SQL Server or SQL Azure Database.  The CTP for the SQL Server Driver for PHP is available for download today.

さらに CTP として、 SQL Server Driver for PHP 1.1 が提供される。それは、PHP アプリケーションの構築と、SQL Azure をサポートするための新機能を提供し、SQL Server もしくは SQL Azure Database を用いたリレーショナル・データベース機能により、PHP アプリケーションを実現するものとなる。 この CTP for the SQL Server Driver for PHP は、今日からダウンロード可能となっている。

With the explosion of data-driven Web 2.0 applications, along with the need to extend existing applications and build innovative data solutions in the cloud – these are exciting milestones.  With SQL Azure, developers building Web 2.0, ASP.NET and PHP applications can use familiar tools and data models to develop on a pay-as-you-grow, secure, scalable and highly available database service at minimal infrastructure cost. In fact, there are really no comparable solutions available today — we are leading the industry by offering a relational database service.   When hosting your application in Windows Azure and with SQL Azure as your cloud database, building credible, reliable cloud-based applications becomes very easy.

既存のアプリケーションの拡張と、クラウドにおける革新的なデータソリューションへのニーズに加えて、データ駆動型の Web 2.0 アプリケーションが増殖するという、エキサイティングなマイルストーンが現れている。 SQL Azure を活用することで、Web 2.0/ASP.NET/PHP などのアプリケーションを開発するデベロッパーは、使い慣れたツールとデータモデルを利用できる。つまり、インフラストラクチャに対するコストを最小限に抑えて、 pay-as-you-grow/ secure/scalable/highly available なデータベース・サービスを構築できる。現実的に見て、それに比類するソリューションは、現時点では見当たらない。つまり、リレーショナルなデータベース・サービスを提供することで、我々はこの分野のリーダーとなる。Windows Azure にアプリケーションをホストし、 SQL Azure をクラウド・データベースとして利用するとき、信頼性の高いクラウドベースのアプリケーション構築は、きわめて容易なものとなる。

The SQL Azure Database CTP includes:

· Relational data model supporting Transact-SQL (T-SQL), including T-SQL stored procedures. Access SQL Azure with familiar data access APIs such as ODBC, OLE DB, ADO.Net, PHP, etc.   The high degree of compatibility with SQL Server enables easy migration of existing Line of Business (LOB) or Web applications to the cloud.

· Self-provisioning, auto-healing and disaster recovery, with high availability and no physical database administration. Self service provisioning means you can provision any number of databases and not have to worry about machines, disks, or server configuration.

  • Pay-as-you-grow multi-tenant scalable service model.
  • Efficiencies from an enterprise class data center without the administrative overhead.
  • Support for familiar tools so developers can leverage existing skills to speed time to solution

SQL Server Driver for PHP CTP will include:

  • Support for SQL Azure, PHP version 5.3, and UTF-8
  • Support for Scrollable results and row count
  • Migration to the SQL Server 2008 Native Client framework with enhanced performance

SQL Azure Database will be available as a free trial until the service goes live in November. SQL Azure Database will be available in two editions: Web Edition, which will include up to 1 GB of relational data, priced at $9.99 per month, and Business Edition, which will include up to 10 GB of data, priced at $99.99 per month.

Other Resources:

· Register for SQL Azure Database CTP (Note: due to high demand there may be delays in issuing invitation codes as we onboard new participants.)

· Additional information on SQL Azure

· Windows Azure Platform Training Kit

· Download SQL Server Driver for PHP 1.1

· Additional information on SQL Server Driver for PHP.

Published Tuesday, August 18, 2009 8:01 AM by davidrob

 

 

July 2, 2009

次期 Exchange Hosted Archive は SDS で!

Exchange Hosted Archive – A True Testament of Scalability
SQL Data Services Team Blog
The latest news and insight from the SDS team.

From <http://blogs.msdn.com/ssds/archive/2009/06/08/9708365.aspx>

こんなポストって、6月8日からあったかなぁ、と思っています。 All About Microsoft でもカバーされていませんし。。。

しかし、その内容というと、昨年春の Ray Ozazie によるアナウンスメント以降で、最大のインパクトを持つんじゃないかと感じています。なぜなら、Windows Azure Platform を構成する SQL Data Services の、しかもメイン・フィーチャーである Relational 機能を用いて、自社のサービスを置き換えるという方針に、Microsoft が初めて言及したからです。

Microsoft が持っている痛みを、Azure を用いて自ら解消していく。

そうでなくてはいけません!

サードパーティやユーザーにとって、それ以上の説得力を持つものはありません。

EHA に続いて、Live ID も Relational SDS で、、、なんてなったら素敵ですね!  --- A.C.

ーーーーーーーーーーー

こんにちは、皆さん、Shankar Pal です。 SQL Data Services (SDS) チームで Principal Program Manager を務めています。そして、大規模なエンタープライズ・アプリケーションのバックエンドン・デザインに取り組んでいます。

SQL Data Services のスケーラビリティについて、私が得てきたいくつかのエクスペリエンスを共有したいと考えています。そして、私たちのオンライン・サービスである Microsoft Exchange Hosted Archive (EHA) を説明することで、最適な例を示せればとも思っています。EHA はコーポレート・ユーザーと大規模な組織のための、電子メール・アーカイブおよび、e-Discovery、法的コンプライアンスに対応する、きわめてリッチなサービスです。そして、次世代の EHA では、SDS と同じリレーショナル・データベース・サービスのためのインフラストラクチャを使うことになります。私がフォーカスすることになるのは、そのワークロードにおけるスケール・アスペクトに関連するサービス・セクションとなります。そして、リレーショナル・データベース・サービスが、どのようにして EHA のスケール要件に取り組んでいくのか、その辺りについて説明していくことになるでしょう。

 

最初に、そのワークロードの特質について簡単に説明します。アーカイブ化されたメッセージはシステムに蓄積され、また、顧客の保存に関するポリシーにより管理されます。メッセージのライフサイクルは、システム内でのメッセージ保管から始まり、リテンション・ポリシーに基づき保持され(たとえば3年)、その保存期間の終わりに消去されます。挿入されるメッセージは、ヘッダー、サブジェクト、メッセージ本文、Word ドキュメントなどの一般的なビジネス・アタッチメント上で、インデックス化されたフルテキストとなります。e-Discovery は、対象となるメッセージにおける、構造化されたフルテキストのクエリーから成り立ちます。たとえば、その送信時刻や送信者、そしてメッセージ本文の全文検索といった、各種のプロパティに基づいた検索が行われます。

 

EHA が前提としているのは、リレーショナル・データベース・サービスによる、長期間を見据えたソリューションであり、既存のシステムと比較して、より高度なアーカイブ・スケールを各ユーザーに提供していきます。また、その容易な運用を実現し、必要とされる可用性を提供し、サービスの急速な成長にも歩調を合わせていくものです。この次世代 EHA がもたらす結果は、SDS リレーショナル・データベース・サービスのプラットフォームから生じてきます。このサービスでは、ユーザごとに制約されている領域を、より広いものへと置き換えます。つまり、特定のサーバーに依存するのではなく、それぞれのユーザーのアーカイブ化された電子メールを、大規模なサーバー群に分散することで、この機能は達成されます。メッセージを挿入するときだけではなく、システム全体をまたぐ、構造化されたフル・テキスト・クエリーを実行する際にも、その強化されたパフォーマンスが確認されるでしょう。 この、バックエンド・アーキテクチャの詳細情報については、昨年の PDC における Gopal Kakivaya のプレゼンテーションで確認できます。彼は、SDS チームの Distinguished Engineer です。 http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB03.wmv.

 

電子メールは、きわめて多様な形態をコミュニケーションにもたらします。あらゆる障害に対するフォールト・トレランスを提供するために、データベース・サービスの中で、大量の着信データが自動的にリプリケートされます。そのストア量が、ギガバイト/テラバイト/ペタバイトになっても、高可用性を提供するプラットフォームとなります。この仕組みにおける個々のクラスタは、何百個ものテラバイト・アーカイブを用いて、電子メールをストアするだけのキャパシティを持ちます。リプリケーションとバックアップの要件を組み合わせることで、EHA クラスタのトータル・キャパシティはペタバイト・データのレベルに至ります。そのこと自体が、SDS リレーショナル・データベース・サービスの、プラットフォームにおけるスケーラビリティを証明します。

 

この膨大なスケールは、驚くほどシンプルな、デザインにおける原則により達成されます。いくつかの方式により、メール・メッセージのパーティショニングが可能です。最も明確なのは、顧客やユーザーによる分割です。この種のセグメントは、きわめて大きなものに成りがちです。そのため、さらなる並列化が必要です。それぞれの顧客やユーザーごとのメッセージで分割することや、送信時間で分割することも可能です。こうしたパーティショニング・スキーマの変動が、EHA アプリケーションのために使用されます。それぞれの顧客のためのパーティションは、数多くのサーバーに点在することになります。 多数の物理サーバーをまたいて、書込みのオペレーションを分散することで、メッセージ挿システムにおけるスループットを高めます。その最終的なレベルは、既存の EHA システムと比較して、きわめて高い挿入レートになります。

数多くのサーバーマシンに点在する、マルチ・パーティションを実行することで、データの物理的分散からのメリットがクエリーにおいても生じます。Fan Out として見なされることもある、パラレルで実行されるクエリーのプロセスと、レスポンスのアグリゲーションは、さらに複雑なクエリーおよび、さらに大規模な分散データセットからのメリットを集約します。とりわけ、きわめて厳格なルールが必要な産業では、日付の範囲や他の基準を用いて、頻繁に全文検索が行われるでしょう。さらに構造化されたクエリーであれば、さらに適切な結果をもたらします。顧客における現実のメッセージを用いた測定では、シングル・インスタンスのサーバーと比較した多くのケースで、高度な Fan Out を用いたクエリーが、桁違いの速さを示しています。

 

この新世代のアーカイブは、この夏の後半に利用可能となるでしょう。 データの物理的な分散を用いるシステム構築は、大規模なエンタープライズ・アプリケーションにおける、スケールとパフォーマンスの要件を満たすという意味で、ともてもエキサイティングなものです。この、セルフ・マネージメント・システムは、アドミニストレーション機能のホスティングを簡潔にし、それらの信頼性を更に高めます。

Published Monday, June 08, 2009 8:50 AM by davidrob

 

初めての New SQL Data Services も ど~ぞ

 

June 27, 2009

初めての New SQL Data Services

Eugenio Pace – Cloud Computing Guidance

Windows Azure のセールス・ポイントとして注目される New SDS ですが、Eugenio さんのブログで新しいポストを見つけました。 それと、以前の Eugenio さんの LitwareHR ですが、カテゴリ Eugenio Tracker に整理しましたので、そちらもご覧ください。   --- A.C.

Clouds: one thing we really know about here in Redmond, WA, USA
Published Friday, June 12, 2009 12:03 PM by eugeniop

Pasted from <http://blogs.msdn.com/eugeniop/archive/2009/06/12/first-experiments-with-new-sql-data-services.aspx>

First experiments with (new) SQL Data Services

 
Last week I got my new login to the new SQL Data Services. As a reminder for all readers:
SDS accelerates its plans to offer relational capabilities

May 11, 2009 – Based on customer feedback, SDS has accelerated its plans and will be offering true relational capabilities through SQL Server’s existing network protocol, Tabular Data Stream (TDS) and existing query language Transact-SQL (T-SQL). This will provide customers direct access to the familiar relational model, T-SQL programming language and the existing development and management tools, while continuing to deliver on our key value props of fault tolerance, high availability, friction free provisioning and pay as you grow scaling. For more information, see the SDS product site and the MSDN Library.

May 11, 2009 – カスタマー・フィードバックに基づき、SQL Server における既存のネットワーク・プロトコルである Tabular Data Stream(TDS)を介して、また、既存のクエリー言語である Transact-SQL(T-SQL)を介して、SDS の計画を加速し、本当のリレーショナル機能を実現していく。 そこで顧客に提供されるのは、T-SQL プログラミング言語と、開発と管理のための既存のツールで構成される、親しみのあるリレーショナル・モデルへのダイレクトなアクセスであるが、フォールト・トレランスと、高可用性、スケールの成長に応じたプロビジョニングと支払いなどへの、支援に関する提供は継続される。 詳細な情報については、SDS プロダクト・サイトと MSDN Library を見てほしい。

 

————————-

What I’ve done? After some initial “hello world-ish” tests, I wanted to try something more interesting so I decided to port IssueTracker into SDS.

私がしたことについて、説明しよう。 最初に行った何パターンかの “hello world-ish”  テストの後に、もっと面白いことをやりたいと思った。 そして、SDS で IssueTracker をポートすることに決めた。

As you know, IssueTracker was originally designed for SDS’ previous ACE model (Authority, Container, Entity), so my first task was to re-write the data access layer to use SQL Server.

皆が知っているように、IssueTracker は以前の SDS が提供していた、ACE モデル(Authority、Container、Entit)のためにデザインされたため、最初の作業は SQL Server をように、そのデータ・アクセスレイヤをリライトすることだった。

One of my goals in this experiment was to test SDS “impedance match” with on-premises SQL Server. Also, I wanted to develop independently of the availability of SDS. Not that SDS is unreliable, but currently it is available only inside Microsoft’s corporate network. I didn’t want to VPN into corpnet for this when working from home.

この実験における目的にひとつは、オンプレミスの SQL Server を用いた、SDS の  “impedance match”をテストすることにあった。また、SDS の可用性とは切り離されたところで、開発を行いたいと望んだ。 SDS が信頼できないということではないが、現時点においては、Microsoft のコーポレート・ネットワークの中だけで利用できるというものである。 そして、コーポレート・ネットワークに依存したくなかったのは、家でも仕事をするからだ。

So I chose to develop exclusively against my local SQL Express instance first and then make a switch to the real SDS.

そこで私が選んだのは、ローカルな SQL Express インスタンスで最初に作業した後に、本物の SDS にスイッチする形態である。

Fortunately, the app was designed with a couple of layers that isolated the persistence details, so writing the new data tier was a fairly mechanical process.

幸いなことに、このアプリケーションは永続的に分離される、2 つの層の組み合わせを用いてデザインされていたため、新しいデータ層の記述は、機械的なプロセスで進んだ。

This diagram roughly captures the architecture:

そのアーキテクチャについて、以下の図に示す:

New SDS 1The repository classes implement a common interface the app uses, the Model is just a collection of rather simple C# objects with no knowledge of the database being used. The Mappers are responsible for the transformations between the application model and the entities that do have knowledge of the database.

そのリポジトリ・クラスはアプリケーションが使う普通のインターフェイスを実装する。そして、この Model は単純な C# オブジェクトというより、単なるコレクションであり、データベースの知識は必要ない。 また、Mappers に課せられた責任は、アプリケーション・モデルと、データベースの知識を持つエンティティの間での変換となる。

In the diagram, classes marked with * are new, the numbers indicate variability points in the implementation, meaning that I can switch between one implementation and the other. Because I used LINQ to SQL, the types in the box labeled as “SQL Model” were generated automatically by the LINQ to SQL designer.

この図で、* マークが付いているのは新しいクラスであり、また、数が記されているのは、実装を切り替えられる可変のポイントである。 SQL に対して LINQ を使用したため、ボックス内に記された “SQL Model” であるというラベルは、LINQ to SQL デザイナーにより自動的に生成された。

When my unit tests compiled again, I switched the connection string to point from the “.\SQLEXPRESS” to the SDS instance in our network and…it worked! First attempt! 

単体テストのために再コンパイルしたとき、接続文字列のポイントを、 “.\SQLEXPRESS” から、ネットワーク上の SDS インスタンスに切り替えた。それが、そのまま動いた。 それが、最初のトライである!

New SDS 2

Overall, it was a rather painless and pleasant experience. Of course the data model in the app is simple and I’m not using any advanced queries or any sophisticated features in SQL yet.

もちろん、アプリケーションのデータモデルはシンプルであり、また、SQL の洗練されたクエリーや、先進的なキューは使っていない。

Things missing and Possible next steps:

The original implementation had 2 requirements that leveraged features in SDS previous ACE model:

1- Multi-tenant isolation: achieved through containers. Each tenant got its own container.

2- Schema flexibility: tenants could customize the application, extending the schema of some core entities. Flexible entities made this very easy, because they are essentially property bags.

このオリジナルの実装は、以前の SDS ACE モデルにおける 2つの機能を活用するという用件を持っていた:

1- Multi-tenant isolation: コンテナを介して達成されるものであり、それぞれのテナントが自身のコンテナを持つ。

2- Schema flexibility: いくつかのコア・エンティティを拡張することで、テナントによるアプリケーションのカスタマイズを実現する。柔軟なエンティティにより実現可能な理由は、それらが、本質的にプロパティ・バッグだからである。

For #1, I considered two options:

1- Partitioning by tenant
2- Do not partition at all and have all tenants on the same database (single-instance, multi-tenant)

#1 については、2つのオプションを検討した:

1-  テナントによるパーティショニング
2- パーティショニングは全く行わずに、すべてのテナントを同一のデータベース上に持つ(single-instance, multi-tenant)
The first option is fairly straight forward. Each tenant gets its own database that is created at provisioning time. The “tenant id” is part of the calling context in the application, so I dynamically connect to each database as needed. Two advantages of this approach: there’s high isolation between tenants (no data from one can leak into another), and the application code is simpler, because from the data perspective, the application is “single-tenant”.

最初のオプションは、かなり単刀直入なものである。 それぞれのテナントが、プロビジョニング時に作成される。自身のデータベースを取得する。 その “tenant id” が、アプリケーションにおけるコール・コンテキストの一部となるため、個々のデータベースとの動的な接続が、必要に応じて実現される。 このアプローチにおける のアドバンテージは、テナント間の分離が強化されることである。 また、アプリケーション・コードもシンプルになる。 その理由は、データの視点から見ると、対象となるアプリケーションが “single-tenant” になる点にある。

I haven’t implemented the extensibility feature yet, but I’m planning on reusing some techniques we did some research on in the past, probably through extension tables.

拡張された機能については、まだ実装していないが、いくつかのテクニックを再利用したいと考えている。それは、おそらく、過去において研究してきた、拡張テーブルを介したものとなるだろう。

There’re other interesting areas for research such as:


そのほかの、研究すべき領域としては、以下のような面白い分野がある:

1- Strategies for partitioning: in discussions with Ryan, he suggested I should consider more sophisticated ways of partitioning the information: by tenant, by tenant + project, etc. and I agree this would be interesting .

1- Strategies for partitioning:  Ryan とのディスカッションにおいて、情報のパーティショニングについて、もっと洗練された方式を考えるべきだとの示唆があった。それは、 by tenant や by tenant + project などであり、それらが興味深いものであることに、私は同意している。

2- Unit of Work: currently I’m simply reusing the original ACE implicit UoW that comes with each interaction. This is, each time you called Create, Delete or Update on SDS, the operation was completed in the context of a unit of work. You could not logically group multiple operation (say, 2 creates and 1 delete). This is suboptimal with the SQL implementation, because the new SDS supports transactions and I would like to leverage that.

2- Unit of Work: 現時点では、それぞれの相互作用に伴って生じる、オリジナルの ACE における暗黙の UoW を再利用しているだけである。 それは、SDS 上で Create/Delete/Update がコールされるたびに、unit of work のコンテキストの中で、オペレーションが完了するというものだ。 多数のオペレーションを、論理的にまとめることはできない(たとえば、2つの create と、1つの delete)。 それが、SQL 実装における次善である。なぜなら、新しい SDS がサポートするトランザクションを、活用したいと思っているからだ。

3- Performance and scalability issues: I haven’t spent any time looking at the application’s “chattiness” with the database that might lead to degraded performance, or any other data access optimizations. This is a whole area in itself, but not very different from “regular” application development. The only exception perhaps is that, in theory at least, the app and the database can be hosted in different datacenters (say the app in Amazon and the data in SDS). I’m not sure that would be a good idea anyway, probably not for this scenario. If the app was hosted in Windows Azure and used SDS, then they would be close in terms of network distance (low latency & high bandwidth). 

3- Performance and scalability issues: このアプリケーションとデータベースの間での “chattiness” については、時間を割いてこなかった。そのため、パフォーマンスの低下を招いているかもしれないし、データアクセスの最適化が必要かもしれない。 それは、アプリケーションの全域におよぶものであるが、“regular”  なアプリケーション開発と、そう変わるものでもない。 唯一の例外と思われるのは、少なくとも理論上において、アプリケーションとデータベースが別のデータセンターにホストされる可能性があることだ(たとえば、アプリケーションは Amazonで、データは SDS)。 それが適切な考え方だとは、確信していない。そして、このシナリオのためのものでもない。 このアプリケーションが Windows Azure 上にホストされ SDS を使うなら、ネットワーク・ディスタンスの観点から、両者の距離は近いものとなる(low latency & high bandwidth)。

Published Friday, June 12, 2009 12:03 PM by eugeniop

Pasted from <http://blogs.msdn.com/eugeniop/archive/2009/06/12/first-experiments-with-new-sql-data-services.aspx>

June 2, 2009

Azure White Paper の SDS 部分が改変

Filed under: David Chappell, SQL Azure — Agile Cat @ 9:42 am
Tags: ,

INTRODUCING THE AZURE SERVICES PLATFORM の第2版

David 09_03_16 

今年 1月の TechDays で配布された、David Chappell さんの INTRODUCING THE AZURE SERVICES PLATFORM ですが、その SDS の部分が改変されました。この TechDays サイトでダウンロードできる PDF 版の、主として P33~P36 あたりに修正が加えられています。MIX 09 で発表された、Relational SDS に合わせた改変と捉えて良いのかと思います。

おおよそのことは、Relational SDS を考える:February 27, 2009 の内容と一致していますので、そちらもご覧ください。そのほかにも、ちょっとした加筆修正が、全般的に行われているようですが、だいたいは SDS を参照する部分のようです(ナナメ読みですが)。

気になるところとしては、”The current expectation is that the maximum size of a single database in SQL Data Services will be between 5 and 10 gigabytes.” という一文があげられます。 つまり、5GB~10GB あたりに、ひとつのデータベースとしての容量制限が設定されるだろうと予測されているようです。つまり、これ以上の容量が必要な場合には、Azure Storage Table で考えてくださいというメッセージなのでしょう。図としては、以下の2つが加えられています。

Relational SDS 1

Relational SDS 2

それと、今回は Huron についても言及されています。

Relational SDS Huron 

これを使って、オンプレミスやモバイル・デバイスからの、Azure 上の Relational SDS との同期を取ってくださいという考え方が提起されています。

May 14, 2009

SDS コーディング例

Filed under: SQL Azure — Agile Cat @ 12:07 pm
Tags: , , , , ,

SDS coding examples – Part 1 (C# & ADO.NET)

SDS Team Blog より

So, as I did with the original SDS I want to outline some code examples that other developers can use to get a sense of how to interact with the service.  In general, this will be much easier now that we have shifted more to the relational model as some of the more abstract (okay maybe not sooo abstract) concepts don’t necessarily need to be explained from scratch.  Having said that, there are a few concepts that are worth covering before we dive into the code.

オリジナルの SDS に対して行ってきたように、このサービスとのインタラクションについて、デベロッパーが感覚を掴みやすくなるための、いくつかのサンプル・コードを概説したい。一般論として、さらなるリレーショナル・モデルに移行するにつれて、抽象概念に関するゼロから説明が減ってくる。そのため、このような説明も、今後はもっと簡単になっていくだろう。そうは言っても、コードに取り組む前に、カバーしておくべきいくつかの概念がある。

Servers, and Masters, and User Databases,  oh my!

There are really two different types of databases that we have present in SDS now.  The first, and the one that you’ll generally interact with the most, is the user database.  This is really where your user data resides.  You’re in charge in this space.  You define the tables, schemas and what have you that appear in this database.  We may insert some data into locked down tables (and present them to you with views) here to help assist you with debugging and provide some metrics data but by in large this is your house.  NOTE: The name you choose here for your user database (“mydatabase” in the example below) is the name of the database you specify in the connection string.

現在の SDS には、2つの異なるタイプのデータベースが存在する。最初のタイプのデータベースは、実際にユーザー・データを配置し、開発者がインタラクトするデータベースだ。この領域を、あなたは担当することになる。テーブルとスキーマ、そして、データベースに置くものを定義する。ロックダウンされているテーブルに、いくつかのデータをインサートすることでデバッグを支援し、また、一般的には大きすぎて入手し難いデータを提供する。注意:あなたのユーザー・データベース(以下の mydatabase)として選択する名前は、接続文字列で指定するデータベース名となる。

connStringBuilder.InitialCatalog = “mydatabase“;

// Specify your user database to connect to.

The second type of database is really what we refer to as the logical master database (or server database) but it actually encapsulates two different things.  The first thing is that the server represents a logical master database.  This is the database where we keep track of all of the user databases that you have on this logical server. It’s important to note that this is *not* a real server and is more logical in nature.  We will also store things your metrics here as well as login information NOTE: Because we store login information here this is why you have specify your server name in the user id as certain elements don’t come across in the initial TDS packets we receive.

二番目のタイプのデータベースは、私たちが論理的なマスター・データベース(あるいはサーバー・データベース)として参照するものだが、そこには 2つのものがカプセル化されている。最初のことは、それが論理的なマスター・データベースとしてのサーバーであることだ。それは、論理的なサーバー上のユーザー・データベースにおける、すべてを記録を追跡するデータベースのことである。このサーバーが、物理的なサーバーではなく、将来においては更に論理的なサーバーになっていくことに注意して欲しい。 そしてさらに、そこにはメトリクスだけではなく、ログイン情報もストアする。注意:最初に受信される TDS パケットでは、user id で指定するサーバー名が、確実な要素として受け渡されないことが、ここにログイン情報をストアする理由である。

The second important thing to note about the server database is that is associated (along with each of the user databases managed by it) with a particular geo-location.  You will pick the geo-location when you go through the provisioning process and requests will be routed to your servers by taking advantage of the DNS system as once done previously.  The code snippet below illustrates how the server presents itself in the connection string.

次に重要なことは、このサーバー・データベースが、(そこで管理されるユーザー・データベースごとに)特定の geo-location と結び付けられていることだ。プロビジョニングのプロセスにおいて、対象となる geo-location が選ばれるが、前回の処理を繰り返す DNS システムを利用することで、あなたのサーバーにリクエストが送られる。以下の断片的なコードが、接続文字列において、サーバー自身を示す方式の例である。

connStringBuilder.DataSource = “myserver.data.dev.mscds.com“;

// Specify the DNS name of my SDS server (which holds my master db).

connStringBuilder.UserID = jeff@myserver;

// Specify my user id (and the server name which holds my master db)

以下、詳細は こちらで ↓

http://blogs.msdn.com/jcurrier/archive/2009/03/29/sds-coding-examples-part-1-c-ado-net.aspx

Java 版は こちらで ↓

http://blogs.msdn.com/jcurrier/archive/2009/03/29/sds-java-jdbc-examples.aspx

May 7, 2009

Windows Storage Server 2008 とは?

Filed under: SQL Azure — Agile Cat @ 10:10 pm
Tags: , , ,

Microsoft delivers new storage-appliance code
All About Microsoft より
May 6th, 2009
Posted by Mary Jo Foley @ 9:47 am

http://blogs.zdnet.com/microsoft/?p=2691

この Windows Storage Server 2008 (WSS08) の new file de-duplication capability というのが気になりますね。 Azure の Fabric と、どこまで共通性があるのでしょうか? まぁ、まったく別物というのは、あり得ないと思いますが。。。

ーーーーーーーーーーーーーーーーーーーー

On May 5, Microsoft announced the release to manufacturing of its latest storage-appliance code, which it is now rolling out to its partners for inclusion in upcoming products.

The new release, Windows Storage Server 2008 (WSS08), is built on top of Windows Server 2008. According to a blog post on the Windows Server blog, WSS08 includes a new file de-duplication capability, and an ISCSI software target for unified file- and block-based storage.

Microsoft officials said its OEM partners will be announcing new appliances based on WSS08 over the “next several weeks.” Announced WSS08 partners include Dell, NEC and Transtec.

ーーーーーーーーーーーーーーーーーーーー

いわゆる、プライベート・クラウドへ向けた戦略なのでしょうかね。

April 15, 2009

Relational SDS のステートは?

Filed under: SQL Azure — Agile Cat @ 7:43 pm
Tags: , , ,

ステートフル Relational SDS を証明する貴重な PPT

以下の図は、MIX 09 での Nigel Wllis さんの PPT からのものですが、一番最後のほうだったので見落としている方が多いのかと思います。 ビデオにも入っていないので、私も気づきませんでした ^^);

Stateful SDS 09_04_15

先日、H さんから、こんなの知ってます? ・・・という感じで教えていただいたのですが、何んと Relational SDS が ステートフルであることを説明している、貴重な一枚だったのです!

ステートレスじゃぁ困るので、当たり前と言えば、当たり前なのですが、クラウドという環境で、どのような仕組みで実現されるのか、その点について説明しています。 詳細な資料は、これから出てくるのだと期待していますが、まずは、この一枚で概要をご覧ください。

それと、無限のスケールを持つものにはなりませんよね、、、と、H さんは言っていました。つまり、クラウドでの RDB とは、的確なポイントで使うものなのでしょうね。

なお、以下の URL から、この PPT をダウンロードすると、① ~ ⑧ をアニメーションで見ることができますので、イメージが掴みやすいと思います。

http://videos.visitmix.com/MIX09/T06F

Next Page »

Blog at WordPress.com.