#書くこと
Oracleって聞いたことあるけど、何のこっちゃ...
と思っていたので、今回「とってもざっくり」、何にも知らなかった頃の自分でも理解できるように書いてみました。
この記事でわかること
- Oracleって何?
- Oracleはなぜ生まれた?
- 似たサービスはあるか?
##Oracleとは?
結論からいくと
オラクル社が開発・販売しているリレーショナル・データベース管理システム(Relational Database Management System(RDBMS))
なるほど、PostgreSQLやMySQLのように、二次元でデータを管理するDB管理システムだったのですね。
なので、Oracle Databaseと呼ばれることもあります。
DBとは、データベースのことです。データを入れる箱です。
その中でもリレーショナル・データベースとは、二次元でデータを保管する箱になります。
身近な例だと、エクセルも二次元ですよね。
あの形で、**「どこに存在するあれに関するデータ」**という形でデータを保管します。
また、
データの操作にはSQL言語を使用する
とあります。SQL(Select Query Languages)文とは、ざっくりいうとDBから条件を指定してデータを抜き出すための文法のことです。
使い方について詳しく知りたい場合は、以下の記事を参考にすると良いかもしれません。
【これだけ覚えてたらOK!】SQL構文まとめ
正し、オラクル社が販売している
、とあるのでこれは有償です。
対して、MysqlやPostgreSQLは無償で利用することができます。
でも、Mysqlは現在Oracle社が開発を行うオープン・ソースSQLデータベース管理システムです。つまり、Oracleは有償のOracle Databaseと、無償のMySQLを提供している企業ということになります。
オープン・ソースとは、無料で提供・公開されているという意味です。
では、なぜ同じ会社が有償と無料のものを提供しているのでしょうか?
Oracleが持つ特徴と共に見ていきましょう。
Oracle Databaseの特徴
まず、大きく分けて、二つの特徴が存在します。
- 行レベルロック
- 読みとり一貫性
行レベルロックとは、エクセルでいう横の行を単位として、各処理間の影響を排除しながら処理する仕組みのことです。これがないと、大量の処理が発生する時には、データベースへの更新処理などを遮ってしまうロック機能が発動し、正しくDB更新がなされなくなるみたいです。
読み取り一貫性とは、検索した時点での情報を読み取る機能です。これがないと、検索している間に更新されてしまった場合、検索時のデータではなく更新後のデータを取得してしまいます。
他にも、堅牢性や移植性といった特徴もあるようです。詳しくは、以下の記事を参照してみてください。
まぁざっくりまとめると、「無償のものよりも、大きな処理に対応したり、セキュリティしっかりしているRDBMSだ」
くらいに思っても差し支えないと思います。
##似たサービス
Amazonが提供する、AWS(Amazon Web Service)は、**Amazon Aurora PostgreSQL(アマゾン・オーロラ・ポスグレSQL)**を提供しています。
僕は現時点で仮想サーバのEC2と、画像保存のためにS3を利用した経験しかありませんが、確かに、AWSの仕組みの中で色々完結していました。
こちらの記事でも、AWSとOracleがバトってるということを解説しておられました。AWSがOracle DataBaseを刈り取り始めているみたいですね...
まとめ
それでも、PostgreSQLとMongoDB増加 - 5月データベース人気ランキングを見るように、Oracleは依然としてシェア率トップにいます。
駆け出しエンジニアとして、プログラミング言語だけでなく、インフラの面でも少しずつトレンドが変わることを意識したいですね。
##最後に
最後まで読んでいただき、ありがとうございます。
ソースコード、記事の書き方について「もっとこうしたほうがいいよ!」というご意見、「そこどうなっているの?」というご質問など、お待ちしております。
##参考文献