「BigTable」を含む日記 RSS

はてなキーワード: BigTableとは

2018-12-04

増田プログラマー養成講座 その23 SQLを巡る物語

前回は、データベース設計について学びました。

今回は、その他のデータベース話題について見てみましょう。

 

 

リレーショナル・データベース理論

問合型言語SQLは、「関係代数」という計算モデルを基に作られたプログラミング言語

一度「関係代数」について学んでおくと、RDBの使い方について、理解が深まる。

↑このスライド作者さんは他にもDB関係資料作成されてるので見ておくといいかも?

 

 

SQL以外の問合型言語

SQL以外にも「SPARQL」、「TMQL」(Topic Maps Query Language)等、いろいろな問合型言語がある。

実際に使う機会は少ないかもしれないが、「問い合わせ」で処理するという発想は参考になるかも?

 

Datalog

Datalogは「Prolog」(論理言語)を源流にもつ宣言的なデータベース問合せ言語。DatalogはSQLと同等の表現力を持つ。

Datalogは様々なプログラミング言語で利用できる。

 

トピックマップ

トピックマップ」は、本の索引もっと機能にしたような仕組みで、RDBとは違う形でデータを蓄積/検索できる。

 

 

RDB以外のデータベース

SQLを使わないデータベースもある。

 

NoSQL

NoSQL一般に "Not only SQL" と解釈される)とは、関係データベース管理システム (RDBMS) 以外のデータベース管理システムを指すおおまかな分類語である

関係モデルではないデータストアの特徴として、固定されたスキーマに縛られないこと、関係モデルの結合操作を利用しないこと(場合によっては単にそのような機能が欠落しているだけ)、水平スケーラビティが確保しやすい事が多いこと、トランザクションを利用できないものが多いことなどが挙げられる。

学術的な世界では、この種のデータベースのことを構造ストレージ (structured storage) と呼ぶことが多い。

 

NoSQLデータベースは、関係データベースのような汎用性は欠くものの、その制約された条件下ではRDBMSより高いパフォーマンスを持つ。

そのためビッグデータソリューションでしばしば活用される。

NoSQLデータベース管理システム有用な場面は、関係モデル必要としないデータを扱う時や、大量のデータを扱う時である

 

有名な実装として、GoogleBigTableアマゾンAmazon DynamoDBなどがある。オープンソース実装も数多く存在し、例えばMongoDBRedisApache HBase、HyperTable, Apache Cassandraなどがある。

 

 

SQLRDBに慣れたら、NoSQLも調べてみよう!

 

 

その他、データベース関係話題

DB運用管理で学んでおきたい話題を列挙してみよう。

 

 

SQL開発物語

問合型言語学習最後に、SQLを巡る物語も見てみよう。(SQL学習ドラマチックで楽しいものにしたいねw)

 

 

RDB活用すれば、大量のデータを処理して、多くの仕事効率化できる。(金持ちへの扉が開かれる。)

暇があったら、SQL物語登場人物も見ておこう。

 

エドガーフランク・コッド(Edgar Frank "Ted" Codd, 1923年8月23日 - 2003年4月18日)は、イングランドまれ計算機科学者

関係データベース理論的基盤であるデータベース管理関係モデル発明した。

 

1960年代から1970年代、コッドはデータ配置に関する理論を構築し、1970年 "A Relational Model of Data for Large Shared Data Banks" (大規模共有データバンクのデータ関係モデル)という論文を発表した(IBM内ではその1年前に公表している)。

しかし、IBMライバルがそれを実装し始めるまで彼の提案を実行に移そうとせず、コッドは失望した。

当初、IBMはIMS/DB収益を守るため、関係モデル実装することを拒んだ。

コッドはIBM顧客自身モデル実装した場合可能性を提示し、顧客からIBM圧力をかけさせた。

そこでIBM関係モデル実装を開発する System R プロジェクトを Future Systems プロジェクトに含める形で立ち上げたが、その開発チームとコッドは分離され、しかもコッドの理論精通した者はチーム内にいなかった。

結果として彼らはコッドの Alpha 言語を使わずリレーショナルでないSEQUEL言語を開発した。

 

ラリーエリソンSEQUEL 完成前に発表された論文に基づいて Oracle を完成させ、先に発売している。

IBMは、SQL/DS を発売した。

幹部技術音痴だと、部下の名案も却下してしまうんですね?

 

ローレンス・ジョセフ・エリソン(Lawrence Joseph Ellison、1944年8月17日 - )は、データベースソフトをはじめとする大手ビジネスソフトウェア企業オラクルコーポレーションの共同設立者であり、元CEO会長CTOである

2014年現在総資産は500億ドルで、世界で5番目の富豪である

 

ニューヨーク出身アシュケナジムユダヤ人母親フローレンススペルマン(Florence Spellman)は出産当時未婚の19歳で、生後9ヶ月のラリーシカゴに住む叔母リリアンエリソンとその夫である義理叔父ルイスエリソン養子として引き取ってもらった。ラリーは実の母の名も知らず育ったが、48歳の時に初めて対面した。

 

高校時代秀才だが、無愛想な生徒だった。イリノイ大学アーバナシャンペーン校に二年生まで通っていたが、リリアンの死後まもなく退学。カリフォルニア州北部で夏を過ごした後、シカゴ大学で学ぶために実家に戻ったものの三ヶ月でまたも退学し、カリフォルニア移住。この頃、コンピュータに触れ始めている。

 

1970年代エリソンはアンペックスで働いた。彼の関わったプロジェクトのひとつCIA向けデータベース開発があり、彼はそれに「オラクル (Oracle)」と名づけた。

エリソンエドガー・F・コッドのリレーショナルデータベースシステムに関する論文 A Relational Model of Data for Large Shared Data Banks に触発され、1977年自己資金1400ドルオラクル設立した。

彼はIBMのSystem Rデータベースがコッドの理論に基づいたものであると聞き、Oracleもこれと互換性のある製品にしたかったのだが、IBMエラーコード秘密にすることによって互換製品が出てくるのを防いでいた。

オラクル最初製品Oracle 2であり、Oracle 1は存在しない。このリリース番号は、それ以前のバージョンバグが全て解決されていることを暗示しようとして付けられた。

 

1997年8月ラリーエリソン親友スティーブ・ジョブズアップルに戻った後、同社の取締役就任した。2002年9月20日取締役会に出席する時間が充分に取れないことを理由アップル取締役を辞任した。

この人、キャラクター的にはあまりきじゃないけど、行動力はすごいね

コッド博士論文を見て自分RDBを作っちゃった!

Oracleバージョンを「2」から始めて、改良されているように見せかける。~ちょっと詐欺っぽいけど、商売うまい?w

 

 

 

SQLデータベース活用して、素敵なアプリWebサービスを開発してください。

では、これでいったん、増田プログラマー養成講座を終了します。

御清聴いただき、どうもありがとうございました。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラム=データ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミングの練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベース参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181110120715 増田プログラマー養成講座 その19 SQLデータ更新

anond:20181110182445 増田プログラマー養成講座 その20 SQLデータの削除

anond:20181111205255 増田プログラマー養成講座 その21 データベース設計 (1)要件定義

anond:20181119224031 増田プログラマー養成講座 その22 データベース設計 概念物理

anond:20181204142213 増田プログラマー養成講座 その23 SQLを巡る物語 ←★今ここ★

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2011-04-19

http://anond.hatelabo.jp/20110419005928

BigTableっつーのはHDD単体の容量をスケーリングするためのもんで、なんでBigTable使ってるのかって言うとDBに格納してるデータテラじゃ効かないからだよ。そういうデータバックアップしようとかそれはソフトウェアの話じゃなくて超絶密度の高いテープアーカイブマシンを作るとかそういう話になるぞw

http://anond.hatelabo.jp/20110418235349

Bigtable使ってデータセンターデータバックアップするプログラムを組んだらどうかな?

ネックは信頼性なんで、ユーザーサイドに見える形でバックアップも平行して取れるようにしたらいい

2009-09-02

http://anond.hatelabo.jp/20090901233610

個人で用意するのが難しいものを使える環境ってことなんでしょうか

やっぱりよくわかりません

BigTableもお手上げ状態・・・

この先IT技術者としてやってく自信もなくなってきた

2009-09-01

http://anond.hatelabo.jp/20090901222135

http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0

ハッキリした定義がなくて一人歩きしてる言葉という気がする。

Wikipedia解釈でいえば、仮想マシンVMの次、仮想サービスといったところか。仮想的なハードウェアとかマシンというより、仮想的なサービスとか環境を提供するサービス、的な。

自分的には分散処理も入れたい感じ。「暇ならGoogleAppEngineやっとけ」は「BigTable使っとけ」っぽいきがする。「スケーラビリティを考えとけ」とも聞こえる。

2009-07-31

TVA就職したい

当方IT屋。非プログラマ失業がほぼ確定した。TVA就職したい。FDR神社があったらお参りするのに(いや日本人としてそれはプライド捨ててるだろ)。ありがたいことに、雇用調整助成金の拡充と、雇用保険の給付要件の緩和のおかげで、向こう半年くらいは延命できる見込み。問題は労働市況の谷がその程度で済むかどうか誰にもわからないことだ。IT産業構造調整臨時措置法案が審議されているという話はまだ聞いていない。

ダイクストラ大先生は「景気が悪くなると悲観論が出てくるのはいつものことだ」と仰っているし、資本集約的技術であるクラウドコンピューティングや ISAM への技術的退化ともいえる BigTable 等はまだ萌芽的で、ましてクラウドを信頼しない委託計算暗号理論は緒についたばかりで(代数学を全く知らない身としてはほんとに使い物になるの?と思うが)、分業も進んでいないから(要するに LinuxWindows Server の為にはかつて IBM が完備していたような職種別ツールとマニュアルがない、バックアップ関連は特に壊滅的)、現状の知識(労働)集約的な仕事のやりかた自体が数ヶ月で覆されるというのは現実的でない。もちろん方向性としては IT はどんどん資本集約的になるとは思う。ただ、OSVMハイパーバイザとか、ストレージエンジンとか)を書く人間以外は何も知らなくていい、というところまで行くかどうか。計算機に何ができるか、一般人はまるで知らなかった 1960 年代とは違うのだ。

バンプ・オブ・チキンの『乗車権』という歌は産業予備軍説について歌っていてとても恐ろしいけれども、加藤智大くんが『ギルド』に共感したほどにはあの歌が今自分にあてはまっているとは思えない(思いたくないだけかも)。IT業界転職は同分野が多い、という話も、前回の景気後退時に土建業で、前々回に金融業で聞いた話と全く同じだ。実際、未経験者可、の仕事では家内と二人で食っていくのは無理。キャリアチェンジを図るなら、雇用調整助成金による自宅待機で家賃と食費を賄いつつ、地元アルバイトを探してとっかかりにするくらいしか思い浮かばない。

MRとかっていまどうなんだろう。一応 MedLine くらいはやれといわれれば検索できるだろうし、高校程度の無機化学の素養はある(あんまり忘れてない)けど‥

ともかく、ラッダイト運動のようなことを今やっても無駄なのは確か。社会が安定している分、自分たちの力で状況を変えられる可能性は古典経済学黄金時代よりもはるかに小さい。リスクを極限まで減らしたければ人生そのものがリスクなのだから、-2価の硫黄化合物を吸引して天国なり地獄なりに移住すればいいのだが、自分ひとりではないのでいまひとつ踏み切れない。

一応、家内に「もし東南アジア香港インド等で仕事することになったら一緒に来れる?」とは言ってみた。仕事があるかどうかは知らない。通貨価値格差と、アジア人英語なら自分でもなんとかサバイブできるんじゃないかという程度のことしか考えてない。たぶん暑くて死ぬ。家内日常生活に必要な英語を習得するのはなんとなく私より早いと期待しているけれども。チャイナ本土は勘弁。中国語と名のつくものは広東語であれ北京官話であれまったくわからない。だいたい高校時代、漢文落ちこぼれ赤点を取り続けていたのは国立文系進学クラスで私くらいだった。

NSDAPとか満蒙開拓団とかで人を募集してませんかね。あ、中共サイバー攻撃要員の口とか、神楽総合警備の求人とかも、あれば、是非。桑名藩とかで京都御所の警備要員とか。国際興業ロビイング部門とか、幸福実現党五反田勤務とかもいいかも‥

2009-06-14

誰が負けたのか判った気がする

相手が勝ち誇ったとき、そいつはすでに敗北している

ジョセフ・ジョースター

何が違うのか解った気がする(菊池 Blog

今どき言語論争なんて愉快なことをやってるのがアンテナに引っかかったのでヲチしてたんだけども、勝利宣言キタコレ

  1. id:higayasuo氏がid:technohippy氏に、「Google App Engineは、Python版以外にJava版も出たけど、サンプル見たけど、たくさんコード書かなければいけなくて、正直どこがいいのか教えて欲しい」と聞かれる。
  2. id:higayasuo氏、大要「書く量は問題にならない」と答えた。という内容の記事を投稿。
  3. それを見た菊池氏が「GAEJava を選択する場合の最大の理由」は「「うん十万行の既存コードをそのまま投入できる。それにインターフェースするために多少オーバーヘッド気味のコードが数100行必要なのが何の問題がある?」と高説。
  4. id:higayasuo氏が菊池氏に、大要、GAEではRDBMSが使えず移植も大変なので既存コードを使えない、と反論。
  5. 菊池氏が、大要、設計が悪いからだ、と反論。
  6. さらに菊池氏のターン、大要、レイヤリング意識して無い奴に言っても無駄だったね反省、と勝利宣言。

さて。

ネットバトル(藁)の勝敗傍観者の評価によって定まるとしても、「傍観者の評価」は俺一人の評価と同値ではなく、むしろ多数が形成する「空気」だから、俺が「このバトルは◯◯の勝ちだ」と宣言したところで月桂冠には成り得ないわけだけども、「空気」の一要素として、高らかに宣言しておく。

このバトルは菊池氏の負けだ。

菊池氏の主張というのは結局、「日頃から良い設計コードを書いていればコードの再利用も容易なはずだ」という「Javaプログラマかくあるべし」論だ。

だから菊池氏は自分の勝利を確信しているだろう。「低能プログラマを叩きのめしたぜ万歳!」

ところが、このネットバトルの勝利条件は「どちらが優れたプログラマか」では無い。もともと他言語との比較でJavaメリットが問われているから、Javaプログラマを叩きのめしても意味がない。

そこで「優れた設計に基づく既存のコードを簡単に再利用できるのがJavaメリットだ」と答えても、「その優れた設計に基づく既存のコードというのはどこにあるんですか?」と訊かれる。(ここでの「優れた設計」は、RDBMSbigtableになりGAEのSandBoxの縛りがあっても容易に移植できる設計でなければならない。)

さて、この問いに胸を張って「いくらでもある」と答えられるJavaプログラマがどれほどいるのだろうか?百歩譲って自身が優れた設計に基づくコードしか書いてこなかったとして、Java界全体を代表して発言してもなお結論が変わらないと言えるだろうか?

つまり、他言語使いに問われた時に「俺の書いたものに限らず、Javaの既存コードはたいてい再利用できる」と言えるだろうか?

答えは否だ。嘆かわしかろうが何だろうが、否だ。

さて、このネットバトルの勝利条件は何であろうか。

それは、「GAEJavaを使うメリットをより的確に表現する事」だ。

菊池氏はその答案として、理想論ないし机上の空論を掲げた。

id:higayasuo氏の答えは大要「慣れた言語で書ける事」だ。格好良くはないが、現実的な答えだ。

菊池氏の答えが全く説得力がない以上、id:higayasuo氏の答えの説得力が弱く反論が容易であったとしても、1ピコグラムでも説得力を有する以上は、天秤はid:higayasuo氏に傾くのだ。

このネットバトルの勝者はid:higayasuo氏だ。

これは、JavaPython勝敗とは関係のない世界の話。

ところでGAEJavaサポートメリットは、Java上で動く多数の言語が使えるようになる事だ、と言ってみるテスト

 
アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん