データベースの違い(Oracle・MySQL・SQL Server)③SQL Server

世界TOP3のデータベース

Oracle Database、MySQLSQL Server を比較していきます。

 

今回は、世界TOP3のSQL Serverについてみていきましょう!

とは言っても、Microsof社tがSQL Serverの記事や資料を沢山作成しているので、

ここでは、大まかな特徴などを備忘録として記載しておきます。

 

 

SQLServerは、Microsoftが開発した製品だと思っている方は多いかと思いますが、、、

実は違います!

元々SQLServerは、Sybase社が開発したRDBMS(関係データベース)です。

Sybase社が、SQLServerを開発した後、

Sybase社、Microsoft社、アシュトンテイト社の3社で「Sybase SQL Server for OS/2

と「Sybase SQL Server for Windows」を開発しました。

その後、3社は共同開発を終了させることになり、

Microsoft社は、Windows用のコードをSybaseから購入しました。

Sybase社とMicrosoft社は、SQL Serverを各々のバージョンで継続開発しました。

  

 
現在、Sybase社は、開発したSQL Server

「Adaptive Server Enterprise (ASE)」という製品名で販売しています。

一方、Microsoft社は、

自社で開発したバージョンを「Microsoft SQL Server」として販売しています。

Microsoft = SQL Server」と認識されるようになったのは、ここが始まりです。

補足となりますが、Sybaseは2010年にSAPに買収されています。

 

 

特徴
Windowsとの親和性が高い

Microsoftなので当たり前のことかと思いますが、

SQL ServerWindowsとの親和性が高いです。

たとえば、Windows認証という機能があります。

簡単に説明すると、Windows認証は、OSのユーザー名/パスワードで認証します。

つまり、OSにログインしたユーザーは、

同時にデータベースにログインしたことになるという機能です。

SQLServer2016まではWindowsOSのみ対応でした。

SQLServer2017よりLinuxOSも対応されております!

また、BIに必要とされる機能を標準で提供しているため、

SQL Server一つで本格的なBIシステムの導入が可能となります。

SQL Serverは、"データベース"というより、

"データベースを含むサービス"に近いものを

提供しようとしている点からきています。

これは、プログラムの作りを確認/比較すると分かりやすいかと思います。

それについての記事は後日UPします。

 

●価格が安価

Oracleデータベース製品と比較すると価格が安いです。

提供しているEditionと価格単位が異なるため、比較しにくいところはありますが、

Enterprise Editionを購入する場合、同じ構成で価格算出するとSQL Serverの価格は、

Oracle DBの1/2の価格より安くなります。

企業が購入する際にコストはなるべく安い方がいいという考えからすると、

SQL Serverの大きな利点といえます。

 

 

まとめ
SQL Serverは、Microsoft社が取り扱っている製品のため、

Windowsとの親和性が高い。

Windows認証やBIに必要な機能が備わっており、

Databaseをサービスとして提供しているイメージ。

価格がOracleより安い!日本国内のベンダー別シェアでは、

2014年~2016年の3年間No.1となっています。

日本では、データに対して企業が割くコストは、世界から見て低いため、

SQL Serverを採用する企業が増えているのかもしれません。

MicrosoftのTechブログでSQL Server2017のメリットやベンダー比較資料を掲載しております。
 

 

次回よりOracleDBとSQL Serverについて少し詳しく比較していきたいと思います:-)

MySQL ライセンスカウント方法

今回は、MySQL製品のライセンスカウントについて確認します!

 

前の記事でも記載しましたが、MySQL製品はデュアルライセンス方式をとっています。

 

無償版

MySQL Community Edition

 

有償版

MySQL Classic Edition(組み込み用途のみ)
MySQL Standard Edition
MySQL Enterprise Edition
MySQL Cluster Carrier Grade Edition

 

通常Edition一覧
組み込みEdition一覧

 

ここからは有償版について書いていきます。

 

基本的な部分からいうと、
MySQLは、ライセンスではなくサブスクリプションとなります!

Oracle Databaseはライセンスなので、ライセンスとサポートを別々に購入しますが、
MySQLサブスクリプションは、ライセンスもサポートもセットになっています。

 

MySQLの有償版を購入頂くと、、

 

・ソフトウェア使用権

・1年間のプレミアサポート
・パッチリリース
・ナレッジベース参照権

 

が、含まれています。

 

サブスクリプションは、定期利用という意味なので、更新という概念はありません

毎年利用権を購入する継続利用するというイメージになります。

 

MySQLは、オラクルデータベースと異なり、
Named User PlusやProcessorなどの価格単位がありません!!

 

MySQLのライセンスカウント方法は、至ってシンプルです。

 

1台の物理サーバーに対して1本購入すればOKです!

 

他のソフトウェア製品と比べて驚くほどシンプルですよね!
MySQLのカウント方法は、「物理サーバー単位」となっています。

 

サブスクリプションには、物理サーバの搭載ソケット数が、
1~4ソケット用 と 5ソケット以上用 の2種類があります。

 

MySQLのライセンスカウントを確認する際には、

・希望Edition

・物理サーバーの台数

・物理サーバーのソケット数

をざっと確認すればOKですね!!

 

今回はここまで!!

 

Oracle データベース ライセンスカウント方法


オラクルデータベースライセンスカウント方法についてのまとめです。

現在販売されているエディションは3種類あります。

 

・Personal Edition
・Standard Edition 2
・Enterprise Edition

 

価格単位は2種類となっています。

 

・Named User Plus
Processor

 

オラクルデータベースのライセンスカウントは、物理サーバーに依存します。
必要ライセンス数を確認する際は、物理サーバーの台数や構成の確認が必須です。

 

それでは、エディションごとにライセンスカウント方法を確認していきます。

 

Personal Edition Named User Plusライセンス

Personal Editionは、価格単位がNamed User Plusのみの製品となります。
使用ユーザー数分を購入すればOKです。
最少ユーザー数の縛りがないので、1本からの購入が可能です。

補足となりますが、このライセンスは基本的に開発用のライセンスとなるため、
複数人でデータを参照/シェアすることはできません。

Personal Editionの使用制限の詳細はコチラをご確認下さい。

 

Standard Edition 2

Standard Edition 2 を購入する前に使用制限について確認して下さい!!

SE2 使用制限事項
・最大搭載可能CPUソケット数が2ソケットまでの物理サーバでないと使用できません。
RAC構成の場合は、各物理サーバの最大搭載可能CPUソケット数が2ソケット以下であり、
 クラスタを構成する物理サーバは2台まで、各物理サーバの実搭載CPU数は1CPUである必要があります。
・データベースが使用するCPUスレッドは、16(Real Application Clusters構成の場合は、各サーバ8)までとなります。
→CPUスレッドは、オラクルのプログラムの機能で勝手に動作するので、あまり気にしなくて大丈夫みたいです。

Standard Edition 2 の使用制限の詳細は、コチラをご確認下さい。


Standard Edition 2 Named User Plusライセンス

1物理サーバに対する使用ユーザー数分の購入でOK!
ただし、最少ユーザー数が1物理サーバあたり10ユーザーとなるため、
実際の使用ユーザー数が5人だとしても、最低10本の購入が必要となります。
最少ユーザ数10本保有していて、後から使用ユーザーを追加する場合は、
10本の契約に紐付けて1本から追加購入できます。
あくまで、物理サーバごとにライセンスの購入が必要となるので、
追加ライセンスが元の物理サーバの環境とは別の物理サーバで使用する場合は、
別の物理サーバにも最少ユーザ数10本の購入は必須です。


Standard Edition 2 Processorライセンス

物理サーバの実搭載プロセッサー分の購入でOK!


Enterprise Edition Named User Plusライセンス

物理サーバの総コア数×コア係数×25から算出された数量と
実際の使用ユーザ数比較して多い数量が必要ライセンス数となります。
※上記の25はゆるぎない数字です!どんな時でも25をかけた数と実際のユーザ数を比較します!
コア係数って何?と思う人のために、簡単に説明しますと、
オラクルがプロセッサのスペックで該当係数を決めています。
それを一覧表にまとめているので、物理サーバに搭載するプロセッサのスペックを確認して、
一覧表から該当の係数を確認して下さい!!
係数表は、「Oracle Processor Core Factor Table」より確認して下さい。


Enterprise Edition Processorライセンス

物理サーバのの総コア数×コア係数で算出された数量が必要ライセンス数となります。
係数表は、「Oracle Processor Core Factor Table」より確認して下さい。

 


ざっと基本的なライセンスカウント方法について記載しましたが、いかがでしょうか。
価格はもちろんPersonal < SE2 < EE となります。
次回は、少々ややこしいオラクルのサポートポリシーについて確認します!

 

参考

オラクルGlobal価格表
オラクル・ライセンス見積ABC
ソフトウェア購入ガイド

データベースの違い(Oracle・MySQL・SQL Server)②MySQL

前回に引き続き、世界TOP3のデータベース

Oracle Database、MySQLSQL Server を比較していきます。

 

今回は、TOP2の MySQL についてです!

MySQLは、世界で最も利用されているオープンソース・データベースです。
デュアルライセンス方式で提供されており、無償版と有償版のライセンスがあります。

無償版は、GNU GPL(GNU General Public License)となります。

GNU GPLは、フリーソフトウェア財団の一般公衆利用許諾契約書のことを言います。

無償版を使用する場合は、開発されたものは、GPLとしてソースコードと共に配布する必要があります。また、公開したソースコードについては、誰もが再配布やコードの変更、コピーが可能となります。

無償版は商用利用をしてはいけないというデタラメな情報が出回っているようですが、GPLを尊守する限り、ビジネスで無償版を使用して問題ありません。

 

MySQL AB社が、MySQLを開発し、その後、サン・マイクロシステムズ社がMySQLを買収しました。サン・マイクロシステムズ社の社員は、データベースのトップシェアを誇るオラクルデータベースを超えることを目標にしていましたが、あと少しでオラクルを上回るくらいのシェアになったところで、ライバルのオラクル社に買収されてしまいました。買収された際に、当時のMySQLを担当していた多くの社員が怒って退職しました。自分たちがライバル視していた企業をもう少しのところで超えられそうだったのに、そのライバル企業に買収されてしまうなんて、、気の毒ですよね。。

 

余談となりますが、オラクル社に買収された時に、MySQL AB社を創設し、MySQLを開発した初期メンバーが退職し、その初期メンバーで新たなデータベースを開発しました。それが「Maria DB」です。

Maria DBは、現在Googleで採用されています。(Googleは、元々MySQLを採用していました。)


MySQLは様々な有名企業に利用されています。

利用企業一覧は、以下リンクより確認できます。
https://www.mysql.com/jp/customers/

※現在利用していない企業も含まれます。


MySQLは、レンタルサーバーのデータベースとしてもよく使われています。
マルチユーザー/マルチスレッドであるため、
複数の人が同時に利用するWebアプリケーションなどのシステムに使用されるデータベースとして適しています。

 

特徴
●高性能なストレージ・エンジン
ストレージエンジンとは,DBMSがデータベースからのデータの読み込み、データベースへの書き込みに使われるMySQL独自のコンポーネントのことです。
MySQLには様々なストレージ・エンジンがあり、選択式で使用可能です。
ストレージ・エンジンは、InnoDBMyISAM、NDB (MySQL Cluster)、Memory、Merge、Archive、CSV などがあります。

以前はトランザクション非対応である代わりに、参照が高速なMyISAMが使われていましたが、現在は完全に統合された、ACID準拠のトランザクション・セーフ・データベースを実現しているInnoDBがデフォルトとなっています。

MyISAMは、テーブルロックのため、Oracle Databaseの行レベルロックより、大きな枠でロックされてしまいましたが、InnoDBは、行レベルロックとなります。

しかし、InnoDBOracle Databaseほど確実な行レベルロックまではいきません。


●スケーラリビティと柔軟性
容量わずか 1MB の組み込みアプリケーションから、テラバイト級の情報量を擁する巨大なデータウェアハウスの稼働に至るまでのすべてに対応できる、対応プラットフォームの柔軟性にも優れており、LinuxUNIXWindows の様々なエディションをサポートします。

Oracle Databaseも対応OSの幅が広いです)

 

まとめ

MySQLは、オープンソースライセンスであり、無償版/有償版の提供があります。

マルチユーザーライセンスのため、複数の人が同時に利用するWebアプリケーションに最適です。また、ストレージエンジンが豊富にあり、選択して使用可能です。

容量が少ない組み込みアプリケーションから、巨大なデータハウスの稼働まですべてに対応可能です。

データベースの違い(Oracle・MySQL・SQL Server)①Oracle DB

データベース製品の中でも世界で利用者の多い

Oracle Database・MySQL・MS SQL Serverについて、

それぞれの特徴を確認し、比較していきます。

 

下記、DB-ENGINESという世界のランキングサイトを見てみると、

上位3製品が圧倒的に使用されていることが分かります。

DB-Engines Ranking - popularity ranking of database management systems

 

1位 Oracle Database

2位 MySQL

3位 MS SQL Server

 

今回は、世界で最も使われているOracle Databaseについて簡単に特徴を書きます。

 

 

企業でデータベースを導入する際に、必ず名前が上がるのがOracle Databaseです。

元々企業向けデータベースとして提供されている製品です。

非常に高性能なリレーショナルデータベース(RDBMS)です。

 

特徴

●行レベルロック

Oracle Databaseの推しの機能です!

「ロック」とは、データを変更する際に、別のユーザーからの更新のバッティングを防ぐための排他制御機能(鍵をかけるようなもの)です。

ロック単位が大きくなると、他のデータにも不要なロックがかかってしまい、ロック解除待ちが多発するため、処理効率が大幅に低下してしまいます。

Oracle Databaseは、処理対象の行のみをロックするため、表やページロックと比べて、待機時間を減らすことが出来ます。

他社RDBMSの行レベルロックは、不完全なロックのため、ロック出来る行数に制限があり、ある一定の値を超えると、ロック・エスカレーションが発生し、行レベルロックから→→ページレベルロック→→表レベルロックへ移行してしまい、アプリケーションの同時実行性が低下してしまいます。

Oracle Databaseは、常に行レベルロックが可能です。

ロックの行数に制限がないため、ロック・エスカレーションが発生しません。

また、きめ細かい行レベルロックにより、ロックの競合が大幅に軽減します。

※一般的なロックレベル:表 > ページ > 行

 

読み取り一貫性

同じデータに同時にアクセスがあった場合、Oracle Databaseでは常に一貫性のあるデータ(確定データ)が返されます。

データの変更中であっても、待機時間無しでデータを読み込むことが可能です。

また、データ読み込み中であっても、データの更新が可能です。

Oracle Databaseは、複数のユーザーからのアクセスに対しても「同時実行性」と「データの一貫性」を確保します。

 

まとめ

企業向けのデータベースの王道と言われているオラクルデータベースは、高性能な行レベルロックと同時実行性・読み取り一貫性が確保されているため、国内企業の約50%で使用されています。

 

次回は、元サンマイクロシステムズのMySQLについて確認します( ´ⅴ`)ノ