Java Magazine の第 17 号でも紹介されている噂?の Flyway を使ってみる。 Flyway とは Flyway は、オープンソースのデータベースマイグレーションツール。 Flyway を使うことで、データベースの状態をバージョン管理できるようになる。 Flyway (マイグレーションツール)を使う理由 データベースを使った開発をしていると、以下のような問題が往々にして発生する。 よくある問題 あるデータベースの、現在の状態が分からない。 あるパッチ用SQL が、データベースに既に適用されているか分からない。本番環境で緊急対応が必要になり適用したパッチが、テスト環境にも反映されているか分からない。 新しいデータベース環境を作成するときに、どのSQL を、どの順番で実行すればいいか分からない。 そんなときに、 Flyway のようなデータベースをバージョン管理するツー

こんにちは、Development Teamの三宅です。 先日、社内(AI事業本部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業本部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLやRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。研修資料 研修内容SQL研修の内容は、基本的には大学のデータベース講義で

OSSデータベース取り取り時報 第59回オープンソースカンファレンスOnline、KDDIにおけるMySQL InnoDB Cluster事例、PostgreSQLのオンラインイベント紹介 この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。 オープンソースカンファレンスOnlineから 2月以降、オンライン開催となっているオープンソースカンファレンス(OSC)の近況です。 OSC Online/Nagoyaの続報 5月30日に開催されたOSC Online/Nagoyaは、朝10:00から18:00まで、最大5トラックのセミナーがずらっと並ぶ充実した構成となりました。参加者も事前エントリが500名を超えていましたので、オンラインでも例年の通常開催と変わらない規模となりました。OSSコンソーシアムでは、オー
2019年12月の冬休みに1週間程かけて"Let'sBuild aSimpleDatabase"という、C言語でSQLiteのクローンを作るチュートリアルをやりました。この存在を教えてくれた同僚に感謝 :pray: cstack.github.io チュートリアルの内容 Richard Feynman先生の“What I cannotcreate, I do not understand.”という言葉が掲げられているように、データベースを作ることでデータベースをより深く理解することに主眼が置かれているチュートリアルです。 これは重要事項説明かつタイトル詐欺に関する謝罪なのですが… 残念ながらこのチュートリアルは完成しておらず、Part 13が2017-11-26に公開されたのを最後に更新が止まってしまっており、以下の13章しかありません。 Part 1 - Introduction

「健康と病いの語り」データベースは、病気の診断を受けた人やその家族が同じような経験をした人たちの「語り」に触れ病気と向き合う勇気と知恵を身につけるために作られたウェブサイトです。 診断時の思いや治療法の選択、副作用の経験などが映像や音声、テキストを通じて語られています。 目の前にいる患者さんが何を思うのかを知るために医療者の方々もぜひご覧ください。
Welcome to TinyDB!¶ Welcome to TinyDB, your tiny, document orienteddatabase optimized for your happiness :) >>> from tinydb import TinyDB, Query >>>db = TinyDB('path/to/db.json') >>> User = Query() >>>db.insert({'name': 'John', 'age': 22}) >>>db.search(User.name == 'John') [{'name': 'John', 'age': 22}]
アクセスされたページは見つかりませんでした。 アドレス(URL)の入力誤りがないか再度ご確認ください。 また、お探しのページが変更・削除された可能性もあります。
Domain-Driven Design (DDD) で、アンチパターンとして取り上げられている SmartUI 。 ある文脈( context ) では、SmartUI はとても優れている。(と、エバンスも書いている) 実際、私たちが、取り組んだ5年前の開発プロジェクトでは、徹底して、SmartUI でがんばった。プロジェクトの背景 ・短期間に既存のアプリを作り変えたかった ・中核メンバーは、寄せ集め。( 設計や実装について、経験や考え方が見事にばらばら ) ・多数の作業者は、一年目のジュニアたち ・既存システムのソースコードは、ない。 Visual Studio で、画面量産 既存システムがあるわけだから、とりあえず、 ・画面の一覧、すべての画面のHTML ・テーブル一覧、テーブル設計と実データ は、そろっている。 400画面くらいをメンバー10人に割り振って、ひとりあたり、4
一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する
今年の5月1日に、仙台市内のホテルで多重予約のトラブルが発生したと報道されています。 部屋数203室の仙台市のビジネスホテルで、9月18~23日の宿泊予約を数千件受け付けるトラブルがあった。アイドルグループ「嵐」のライブが宮城県内で開催される期間だった。インターネットでの申し込みが殺到し、システム障害が起きたとみられるという。 トラブルがあったのは、仙台市泉区の「ホテルルートイン仙台泉インター」。ホテルなどによると、9月19、20、22、23日に宮城スタジアム(宮城県利府町)で嵐がライブを開くことが明らかになった後の5月1日午前5時ごろ、ネットを使った予約申し込みが殺到していることに気づいたという。 203室のホテルなのに「予約」数千件 嵐公演で殺到か:朝日新聞デジタル より引用 5月1日の朝に何があったのか調べてみると、この日の早朝にテレビや新聞でコンサートの情報が流れたようですね。 お
ハンドノート T字形ERモデル セミナー資料 (Author; S.Toriyabe SYSTEMS DESIGN Co.,Ltd. Japan)
仕事柄、奇妙なDB構造を目にすることが多い。どういう発想からそんな設計がされるのかを理解したいと思っていたのだが、モデラー仲間の秋里さんが先日うまい指摘をした。「主キーをインデックスみたいなものと勘違いしているからではないでしょうか」。インデックス(キー)というのは、レコードの並び順を規定するキーのことだ。 たしかに思い当たる節がある。「こんな順にレコードが並んでいれば処理上都合がよさそうだ」という考えで主キーが設定される。さらに主キーはユニーク制約でもあるので、重複が起こらないように「多め」に項目を突っ込んでおく。つまり「ユニーク制約をともなう代表的インデックス」程度に主キーが理解された結果として、グダグダなDB構造が出来上がるのではないか。 じっさい、昔こんなことがあった。{a,b,c,d}の複合主キーをもつテーブルXがある。ところが、別のテーブルYからテーブルXの特定レコードにアクセ

PerconaMySQL Webinarsの発表(MYSQL開発でやってしまいがちな致命的なミスについて)のQAをご紹介します。本発表はSQLアンチパターン著者のBill Karwinさんの発表です。 オリジナル: http://www.percona.com/resources/mysql-webinars/how-avoid-even-more-common-deadly-mysql-development-mistakes July 17, 2014 by Bill Karwin 水曜日に「MySQLを開発する上でよく起こる(そして致命的な)ミスをどのように回避するか」をPerconaMySQL webinarsで発表した。お見逃の際は、ビデオとスライドを見る為に登録すればまだご覧にいただける。 参加いただいた皆様、そしてとりわけすばらしい質問をしていただきありがたく思っている
リレーショナルデータベース管理システム(RDBMS)は言うまでもないことだけど、データベース管理の基礎中の基礎だ。NoSQLというRDBMSではないデータベース管理システムが出て来ているがそれもSQLがあってこそのNoSQLだ。 リレーショナルモデルはIBM E.F. Codd博士が提唱した。Edgar F. Codd -Wikipedia Codd博士は後にチューリング賞を受賞している。 http://en.wikipedia.org/wiki/File:Edgar_F_Codd.jpg そのデーターモデルを利用したデータベース管理システムのプロトタイプがSystem Rだ。IBM System R -Wikipedia 1974年ごろ発表された。 その成果の一つがSQLだ。誰でも使っているSQLはSystem Rの論文が発祥の地である。そしてその論文を読んでRDBMSを作った男がL

内部ツール(僕らでいえば256interns.comとか)は管理画面作らずGUIアプリで変更とか結構便利です。とはいえ、railsなどのアプリ側のみでvalidationしてると不整合が起きるので要注意。これ前提で制約追加するのもいいかも? Sequel ProMySQLのGUIクライアント。これを教えてもらって訝しげに使ってみたんですが、今風のMacの使い勝手で使えるのがすごく気に入っちゃいました。 SSL経由やsshで入ったサーバー踏み台にしての接続も一発できて便利。 PG Commander PostgreSQLのGUIクライアント。Sequel Proに比べると使い勝手は良くないけど、HerokuのDBに接続できる!これがデカイ。 接続先のブクマを5個以上保存しておくにはLisenceを買う必要があります。Herokuを多用するから5個あっという間に超えちゃうので買いました。 B
昨日の日記には山のようにブックマークがついた。( 世界でもっとも強力な9のアルゴリズムを読んだ。 http://d.hatena.ne.jp/hyoshiok/20140209/p1 ) データベースはアルゴリズムじゃないだろうというツッコミもあるけど、偉大なアイデアということだろう。それは多分誰も異論はないと思う。そこで紹介されている3つのアイデアは ログ先行書き込み(WAL) 2段階コミット リレーショナルデータベース トランザクションと言う概念が70年代以降発展してきて、その実装にはログ先行書き込みが多大な貢献をした。 2段階コミットによって分散型データベースが信頼性をもって実装できるようになった。 リレーショナルデータベース(というよりもリレーショナルデータモデル)は全ての基盤になっている。 これらの発展は70年代のSystem Rの先駆的な研究開発から始まったといっても過言ではな
The TraditionalRDBMS Wisdom is All Wrong by Michael Stonebraker TraditionalRDBMS Wisdom Data is in diskblock formatting (heavily encoded) With a main memory buffer pool ofblocks Query plans OptimizeCPU, I/O Fundamental operation is read a row Indexing via B-trees Clustered or unclustered TraditionalRDBMS Wisdom Dynamic row-level locking Aries-style write-aheadlog Replication (asyn
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く