キムラデービーブログ

オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日本オラクルに在籍していますが、本サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。
Firebird 3 に移行するときに考慮すべき事柄(2)ユーザ管理の変更
0
    本エントリはFirebird Advent Calendar 2017の2日目です。

    著者のカルロスから許可をいただいて、Things to consider when migrating to Firebirdの日本語訳を
    四回に分けてお知らせいたします。

    Firebird 3 に移行するときに考慮すべき事柄(2)ユーザ管理の変更

    ユーザ管理の変更

    Firebird 3 はバックアップ/リストアが必須です、が、それがすべてではありません!
    Firebird 3 の主要な成果は、フルにスケールする一方で
    今までどおり接続間の共有キャッシュも提供する、SuperServerの提供です。
    しかし開発者は(ユーザーが)長い間待っていたほかのいくつかの機能も実装しました。
    そしてそれらの機能のいくつかは、大きな再作業と、(新しい)コンセプトの導入が求められます。
    たとえばFirebird 3では、同じ名前の違うユーザを持つことが可能です。「ん、何だって? どのように??」
    可能なのです。Firebird 3 はユーザ管理プラグイン(User Manager Plugin)のコンセプトが取り入れられ、
    そこで各プラグインはそれぞれ個別のユーザ群をもっています。

    あなたが新しいユーザをFirebird 3で作成するとき、どのプラグインを使いたいか設定することができます。
    つまり、ひとつのプラグインでパスワード'1234'の'JOHN'(ジョン)と、
    他のプラグインでパスワード'5678'の'JOHN'を作成できるのです。
    これは少し混乱しますし、しばしばユーザに不可能なことをしてむだ骨を折らせる方向に導いてしまうかもしれません。
    特にドキュメントを注意深く読まず、ユーザ管理の新しいコンセプトに気づかない場合には。

    また、ユーザ管理における別の変更点には、メインデータベースの中にユーザ(ローカルユーザ)を作成できるようになり、
    他のセキュリティデータベースに作成できるようになり、ユーザ管理(create/delete/updating ussers)は
    SQLステートメントで行えるようになりました。そのため以前のバージョンのセキュリティデータベース(securityx.fdb)から
    Firebird 3へ、既存のユーザを現在のパスワードを保持したままの移行方法がないことを、思い起こさねばなりません。
    しかしながら、Firebird 3では以前のパスワードの最大長(8文字)の制限のかわりに、255-byte長までのパスワードがサポートされました。

    Firebird 3のインストールから提供されているsecurity_database.sqlスクリプトが既存のユーザアカウントの
    Firebird 3での作成に役立つかもしれません。このスクリプトは古いセキュリティデータベースから既存のユーザを読み込み、
    名前と属性を走査し、Firebird 3上で、同じユーザをgen_uuid関数で作成したランダムパスワードとともに作成します。
    実行時には、ユーザの名前と、生成されたパスワードを表示します。

    ユーザ管理の変更については、MGTB3 Bookにおいて、一章全部を使って説明しています。

    (3日目に続く)

    JUGEMテーマ:コンピュータ



    | meijik | Firebird/InterBase | 23:45 | comments(0) | trackbacks(0) | - | - |
    Firebird 3 に移行するときに考慮すべき事柄(1)
    0
      本エントリはFirebird Advent Calendar 2017の1日目です。

      著者のカルロスから許可をいただいて、Things to consider when migrating to Firebirdの日本語訳を
      四回に分けてお知らせいたします。

      Firebird 3 に移行するときに考慮すべき事柄

      カルロス H Cantu (2017年10月) ドキュメントバージョン1.01
      www.firebirdnews.org
      www.firebase.com.br

      バックアップとリストアは必須です!

      かつて新しいFirebirdバージョンへの移行は、常に非常に簡単なプロセスだと考えられていました。
      多くの人々は古いFirebirdのバージョンをアンインストールし、新しいものをインストールしていました。
      そのうちの何人かはデータベースのODSを新しいバージョンにするための、バックアップ/リストアもわずらわしいと考え
      実行しませんでした。しかし、それは「悪いアイデア」です。
      いくつかの新しい機能はODSとクライアントが最新のもののときのみ利用できます。

      Firebirdの新しいバージョンへの移行は、バージョンにかかわらず、常にバックアップとリストアを行い、
      クライアントライブラリ(fblient)をクライアントとサーバ両方の環境でアップデートすることを心に留めてください。
      Firebird 3への移行について、バックアップ/リストアは推奨ではなく、必須です。

      Firebird 3 は古いODS(ODS < 12)への接続はできません。つまり、より古いバージョンで作成されたデータベースへの接続はできません。
      私(カルロス)の書籍Firebird3へのマイグレーションガイド(MGTFB3: Migration Guide to Firebird 3)に記述したとおり
      gbakのバックアップとリストアを実行して、ODSをアップデートする必要があります。
      特にバックアップは古いFirebirdバージョンがまだ動作している間に取得しなければなりません。

      gbakは「普通の」クライアント/サーバアプリケーションだと考えてください。
      つまりgbakは接続するFirebirdに依存して、処理を行います。処理のほとんどは
      すべてのデータベース構造とデータを読み、そして、それらをバックアップファイルにセーブします。
      もし、あなたがすでにFirebird 3を以前のバージョンに上書きしてインストールしていたとしたら、
      gbakはより古いODSのデータベースには接続できず、バックアップを取得することができないでしょう。

      (2日目に続く)

      JUGEMテーマ:コンピュータ



      | meijik | Firebird/InterBase | 01:01 | comments(0) | trackbacks(0) | - | - |
      2017年のFirebird
      0
        本エントリはFirebird Advent Calendar 2016の第25日目です。

        # ずいぶんと遅くなりスミマセン(このエントリは2017-01-02に書いてます。。。)

        さて、2017年のFirebird ! といえば、まずは次版のFirebird 4.0の話になります。
        話としてはnakagamiさんの書いてくれた以下のとおりなのです。

        Firebird4.0 Planning(ある nakagami の日記)

        若干補足を。

        ここらへの話はPMのYemanovのFirebird Conference 2016の以下のペーパーにもあります。

        Firebird today: Goals and Perspectives

        p.4にもあるようにCompetitorsはこの2010から2016まで以下のバージョンをリリースしてきました。

        o PostgreSQL 9.1 -> 9.6
        o MySQL 5.5 - 5.6 - 5.7
        o MariaDB 5.3 - 5.5 - 10.0 - 10.1
        o SQLite 3.8 -> 3.16 (on 2nd Jan, 2017)

        いろいろな観点から新リリースを出す各データベースですが、
        その重要な1要素にHA(High Availability)があり、PostgresSQLではレプリケーションのビルトイン、
        MariaDB, MySQLではレプリケーションの高性能・高機能化、既存ストレージエンジンのCluster化(MariaDB Galera Cluster, MySQL InnoDB Cluster)が行われました。

        # MySQLの場合、分散コンピューティング環境に適した MySQL の高可用性および高冗長性バージョンである MySQL Cluster がすでに別ラインとして開発進化を遂げています。

        FirebirdはHAとは無縁の状態が続いていましたがが w
        Firebird 4.0では目玉として、レプリケーション機能の実装が予定されています。

        Firebird/InterBaseでは長らくIBReplicatorが使われてきました。
        すべてのFirebirdのバージョンとInterBase 5.x以降に対応しています。
        (最近のバージョンではOracle 9.x以降、ODBCにも対応しています)
        しかしながら、サードパーティの商用ソフトウエアであるため、
        別途インストールとそのライセンス料金が必要であり、ビルトインのソリューションが求められて
        おり、それに答えるものとなっています。

        通常、初期実装にはいろいろと不安な点が多いものですが、今回のレプリケーション機能は
        ロシアのREDSOFTにより、Red Database (Firebirdをベースとした商用DB)に実装されたものが
        コントリビュートされるようなので、期待できそうです。

        HA cluster(based on RedDatabase engine-level replication)

        今後本体のレプリケーションとIBReplicatorは
        PostgreSQLでというと、本体のレプリケーションとSlony的な関係で続いていくと思います。

        では、2017年のFirebirdに期待しましょう。

        JUGEMテーマ:コンピュータ



        | meijik | Firebird/InterBase | 11:11 | comments(0) | trackbacks(0) | - | - |
        Firebird Conference 2016 の資料
        0
          本エントリはFirebird Adventcalendar 2016の22日目です。

          近年、また活気を取り戻してきたFirebird Conference. 今年開催のFirebird Conference 2016の資料は以下のURLにて公開されています。

          Firebird Conference 2016 papers

          来年はここらへんをネタに勉強会やりたいと思います。

          カンファレンス参加は。。。。なんとか再来年を目標に。。。。

          JUGEMテーマ:コンピュータ



          | meijik | Firebird/InterBase | 23:43 | comments(0) | trackbacks(0) | - | - |
          Firebird 3.0の書籍(Migration Guide to Firebird 3)
          0
            本エントリはFirebird Adventcalendar 2016の21日目です。

            現在Firebird 3.0用に出ている書籍はブラジルのカルロスが書いた以下の本のみです。

            Migration Guide to Firebird 3 (Firebird News)

            英語版とポルトガル語があります。

            英語版を出版直後に購入したのに、まだ読めてません。年末年始の宿題にするかな。。。。

            JUGEMテーマ:コンピュータ



            | meijik | Firebird/InterBase | 23:07 | comments(0) | trackbacks(0) | - | - |
            使い慣れたSQLに潜む実装依存: Firebirdの場合(12) UPDATE文による主キーの入れ替え
            0
              本エントリはFirebird Adventcalendar 2016の17日目です。

              使い慣れたSQLに潜む実装依存:3.構文とトランザクション UPDATE文による主キーの入れ替え

              まぁMySQLと同じでだめな感じですorz 素朴な実装なので。。。。

              SQL> create table table1(c1 int primary key);
              SQL> insert into table1 values(1);
              SQL> insert into table1 values(2);
              SQL> update table1 set c1 = case c1 when 1 then 2 when 2 then 1 end;
              Statement failed, SQLSTATE = 23000
              violation of PRIMARY or UNIQUE KEY constraint "INTEG_15" on table "TABLE1"
              -Problematic key value is ("C1" = 2)

              これはできるのが正しくて、できないMySQLやFirebirdは仮の数字をワーク変数として
              ひとつのトランザクションでやるしかないですねぇ。

              CASE式を使用して、主キーを入れ替える方法 SQL(開発チームのブログ)

              まぁそもそも「主キーの入れ替えすんな」と思っちゃいますがね :)

              さて、しのはらさんのLTに頼りきりの今回の連載(?) 今回で終了です。次回までにネタを探します。

              ありがとうございましたm(_ _)m しのはらさん

              JUGEMテーマ:コンピュータ



              | meijik | Firebird/InterBase | 00:18 | comments(0) | trackbacks(0) | - | - |
              使い慣れたSQLに潜む実装依存: Firebirdの場合(10) ORDER BY でのNULLの扱い
              0
                本エントリはFirebird Adventcalendar 2016の17日目です。

                使い慣れたSQLに潜む実装依存:3.構文とトランザクション ORDER BY

                最新のFirebird 3.xでは、MySQL, SQL serverと同様にNULLは最小として扱われます。

                SQL> create table table_name(column_name int);
                SQL> insert into table_name values(1);
                SQL> insert into table_name values(2);
                SQL> insert into table_name values(3);
                SQL> insert into table_name values(null);
                SQL> insert into table_name values(null);
                SQL> comiit;

                SQL> select * from table_name order by 1;

                COLUMN_NAME
                ============
                <null>
                <null>
                1
                2
                3

                SQL> select * from table_name order by 1 desc;

                COLUMN_NAME
                ============
                3
                2
                1
                <null>
                <null>

                またNULLS FIRST, NULLS LASTもサポートされています(Firebird 1.5以降)

                SQL> select * from table_name order by 1 asc nulls last;

                COLUMN_NAME
                ============
                1
                2
                3
                <null>
                <null>

                SQL> select * from table_name order by 1 desc nulls first;

                COLUMN_NAME
                ============
                <null>
                <null>
                3
                2
                1

                Firebird 特有の仕様として、Firebird 1.xではNULLは必ずSORT結果の最後にくる、
                というものがありました。これは2.0で現在の仕様(最小)に変更されました。詳細は
                次のドキュメントをご参照ください。

                Sorts

                ミックさんが翻訳した「プログラマのためのSQL 第4版」でも7.3.2 ORDER BY句にて
                同様のトピックがあがっています。しかしNULLS FIRST, NULLS LASTを「これはもともと、DB2と
                Oracleに実装されていた機能だ。」というのは誤りでは? というのも、LUW版DB2で
                NULLS FIRST, NULLS LASTがサポートされたのは9.x (おそらくは9.5)ですから。

                SQL ServerのようにNULLS FIRST, NULLS LASTをサポートしてない環境にて
                ORDER BY時のNULLの出現位置をコントロールしたい場合は、以下のブログエントリを参考にしてください。

                FirebirdSQLパズル: 2-1-18 nulls Firstとnulls Last(キムラデービーブログ)

                この方法はDBFluteでも利用されたようです :)

                MySQLではVal IS NULLを使うこともできます。

                JUGEMテーマ:コンピュータ

                | meijik | Firebird/InterBase | 00:17 | comments(0) | trackbacks(0) | - | - |
                使い慣れたSQLに潜む実装依存: Firebirdの場合(9) 予約語
                0
                  本エントリはFirebird Adventcalendar 2016の12日目です。

                  使い慣れたSQLに潜む実装依存:3.構文とトランザクション 予約語

                  Firebirdは2.5の時点のものですが、以下にまとめられています。

                  Appendix B: Reserved words and keywords – full lists

                  予約語が167, 予約語を含む「キーワード」というくくりが364語です。(予約語すべてと記号20個含む)

                  Firebirdで特徴的なのはデータベースのミラーを作成するシャドウデータベース機能に使うSHADOWとか、

                  SHADOW

                  InterBaseのオリジナルのエラーコードGDSCODEとかですかね。

                  GDSCODE

                  もともとInterBaseは米国マサチューセッツ州ゴートンで開発され、
                  そのときの社名はゴートン・データベース・システム(GDS)だったので、
                  ソースのそこかしこにGDSとか、そのときの開発に使われたコードネーム
                  (ダッドリー、バープ、アリス)とか散らばっています。来歴は以下。

                  How InterBase came to be−InterBaseはどのようにして生まれたか−

                  As Jim Starkey remembers it−Jim Starkeyによる回想−

                  JUGEMテーマ:コンピュータ



                  | meijik | Firebird/InterBase | 09:36 | comments(0) | trackbacks(0) | - | - |
                  使い慣れたSQLに潜む実装依存: Firebirdの場合(8) 暗黙の型変換
                  0
                    本エントリはFirebird Adventcalendar 2016の11日目です。

                    使い慣れたSQLに潜む実装依存:2.データ型と演算子 暗黙の型変換

                    最近のFirebirdではPostgreSQLのように厳密になっており、どちらもエラーになります。

                    SQL> select '123' + '456' from rdb$database;
                    Statement failed, SQLSTATE = 42000
                    Dynamic SQL Error
                    -expression evaluation not supported
                    -Strings cannot be added or subtracted in dialect 3

                    SQL> select '123' + 'XYZ' from rdb$database;
                    Statement failed, SQLSTATE = 42000
                    Dynamic SQL Error
                    -expression evaluation not supported
                    -Strings cannot be added or subtracted in dialect 3

                    ここでInterBase/Firebirdで特有の概念dialectがあります。
                    dialectについては次のブログエントリをご参照ください。

                    Firebirdでの数値の扱い方を知る(キムラデービーブログ)

                    一時的にdialectを当該セッションのみ1に変更することが可能です。

                    これを設定すると、動作がInterBase 6.0より前のものにすることができます。
                    この場合の動作は、OracleとDB2と同じです。

                    SQL> set sql dialect 1;
                    WARNING: Client SQL dialect has been set to 1 when connecting to Database SQL dialect 3 database.
                    SQL> select '123' + '456' from rdb$database;

                    ADD
                    =======================
                    579.0000000000000

                    SQL> select '123' + 'XYZ' from rdb$database;

                    ADD
                    =======================
                    Statement failed, SQLSTATE = 22018
                    conversion error from string "XYZ"

                    Oracle, DB2, Firebirdではコンバートエラーになった+ 'XYZ'をそのまま全体のエラーしてあげますが、MySQLでは + 'XYZ'を無視して、'123'だけ返す、という仕様です。ちゃんとWarningはでてます。

                    mysql> select '123' + 'XYZ';
                    +---------------+
                    | '123' + 'XYZ' |
                    +---------------+
                    | 123 |
                    +---------------+
                    1 row in set, 1 warning (0.02 sec)

                    mysql> show warnings;
                    +---------+------+-----------------------------------------+
                    | Level | Code | Message |
                    +---------+------+-----------------------------------------+
                    | Warning | 1292 | Truncated incorrect DOUBLE value: 'XYZ' |
                    +---------+------+-----------------------------------------+
                    1 row in set (0.00 sec)

                    SQL Serverの場合は 文字列に対する + は文字列連結記号なので、
                    この動作はしかたないですね。。。

                    JUGEMテーマ:コンピュータ



                    | meijik | Firebird/InterBase | 10:38 | comments(0) | trackbacks(0) | - | - |
                    使い慣れたSQLに潜む実装依存: Firebirdの場合(7) INSERT時のスペース
                    0
                      本エントリはFirebird Adventcalendar 2016の10日目です。

                      使い慣れたSQLに潜む実装依存:2.データ型と演算子 INSERT時のスペース

                      ここでもFirebirdは多数側、つまりOracleとVertica以外のRDBMSと同じ結果を返します。

                      SQL> create table table1(c1 char(3),c2 varchar(3));
                      SQL> insert into table1 values('ABC ','AB ');
                      SQL> select * from table1;

                      C1 C2
                      ====== ======
                      ABC AB

                      ちょっとわかりにくいので、c2にちゃんと後続のスペースがついているかどうか確認すると。。。

                      SQL> select octet_length(c1),octet_length(c2) from table1;

                      OCTET_LENGTH OCTET_LENGTH
                      ============ ============
                      3 3

                      まぁOracleではきっとchar型でも後続のスペースをとらずに入れようとして
                      カラム定義長にひっかかっているのでしょうか?

                      ただ、VARCHARにちゃんと後続の空白付で入ったからといって、油断をしてはなりません。

                      Firebirdは(そしてMySQLも)文字列比較セマンティクスは「空白埋め」だからです。
                      そのため、たとえばc2にユニーク制約をつけると、'AB 'が入っているカラムに
                      'AB'はインサートできません。ユニーク制約違反になります。詳細はMySQL用に書いた
                      以下のブログをご参照ください。

                      MySQLの文字列比較セマンティクスは「空白埋め」

                      JUGEMテーマ:コンピュータ



                      | meijik | Firebird/InterBase | 20:58 | comments(0) | trackbacks(0) | - | - |
                           12
                      3456789
                      10111213141516
                      17181920212223
                      24252627282930
                      31      
                      << December 2017 >>
                      + RECOMMEND
                      100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊
                      100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 (JUGEMレビュー »)

                      100人のうちの一人としてミックさんの本を推薦しています。
                      + RECOMMEND
                      MySQL 5.1 Plugin Development
                      MySQL 5.1 Plugin Development (JUGEMレビュー »)
                      Andrew Hutchings,Sergei Golubchik
                      MySQL 5.1 のプラグインを作るならこれ!
                      + RECOMMEND
                      AWKを256倍使うための本 (Ascii 256倍)
                      AWKを256倍使うための本 (Ascii 256倍) (JUGEMレビュー »)
                      志村 拓,鷲北 賢,西村 克信
                      ここにきてまさかの復刊。15〜16年前の本ですが、いまでも十分役立ちますよ!!
                      + RECOMMEND
                      Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
                      Linux-DB システム構築/運用入門 (DB Magazine SELECTION) (JUGEMレビュー »)
                      松信 嘉範
                      Linux-DB システム構築の新スタンダード。DB Magazine人気連載、待望の書籍化です!!
                      + RECOMMEND
                      + RECOMMEND
                      超・極める!MySQL
                      超・極める!MySQL (JUGEMレビュー »)
                      坂井 恵,志村 和彦,ひろせ まさあき,松信 嘉範
                      内容は少々古くなりましたが、内部説明があり、いろいろ面白いです。
                      + RECOMMEND
                      The Root of .NET Framework
                      The Root of .NET Framework (JUGEMレビュー »)
                      荒井 省三
                      .NETの根っこをつかむ、か?
                      + RECOMMEND
                      エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド
                      エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド (JUGEMレビュー »)
                      奥野 幹也
                      これまでにない構築、そして構築後のMySQLのための本。
                      + RECOMMEND
                      Database Management Systems
                      Database Management Systems (JUGEMレビュー »)
                      Raghu Ramakrishnan,Johannes Gehrke
                      ミックさん連載の参考書籍です。
                      + RECOMMEND
                      Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series)
                      Advanced Programming in the UNIX Environment: Paperback Edition (2nd Edition) (Addison-Wesley Professional Computing Series) (JUGEMレビュー »)
                      W. Richard Stevens,Stephen A. Rago
                      必読! といいつつ私が読んだのは初版の日本語訳です。差分はチェックしないといけませんね。
                      + RECOMMEND
                      + RECOMMEND
                      + RECOMMEND
                      Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE
                      Western Digital Scorpio Blue 2.5inch 5400rpm 320GB 8MB PATA WD3200BEVE (JUGEMレビュー »)

                      DELL SX260の換装用に購入。今はコチラのほうが安いですね。
                      + RECOMMEND
                      情熱プログラマー ソフトウェア開発者の幸せな生き方
                      情熱プログラマー ソフトウェア開発者の幸せな生き方 (JUGEMレビュー »)
                      Chad Fowler
                      OSC2010神戸に出展されたジュンク堂で買いました。
                      + RECOMMEND
                      Software Design 総集編 【2000~2009】(DVD付)
                      Software Design 総集編 【2000~2009】(DVD付) (JUGEMレビュー »)

                      メガトン級の過去記事。売り切れる前にお店に急げ!
                      + RECOMMEND
                      + RECOMMEND
                      玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2
                      玄人志向 2.5型HDDケース SATA対応USB2.0接続 GW2.5AI-SU2 (JUGEMレビュー »)

                      Aspire 1410 HDD換装後、昔のHDDはこれにいれます。
                      + RECOMMEND
                      + RECOMMEND
                      acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22
                      acer Aspire Timeline AS1410 11.6型ノートPC Windows7搭載 250GB ブラック AS1410-KK22 (JUGEMレビュー »)

                      色違い黒(他に青と白があります): メモリは最大4GBとあるが、がんばれば8GBいけるらしい。
                      + RECOMMEND
                      Firebird 徹底入門
                      Firebird 徹底入門 (JUGEMレビュー »)
                      木村 明治,はやし つとむ,坂井 恵
                      Firebird日本ユーザ会のはやしさん、そしてMyNAから拝借(?) してきた坂井さんとともに書きました。まだ誰も知らないFirebird 2.5や、いままでドキュメントのなかったツール類についてもソースを確認してとりあげた本です。是非ご活用ください。
                      + SELECTED ENTRIES
                      + RECENT COMMENTS
                      • 使い慣れたSQLに潜む実装依存: Firebirdの場合(6) 文字列との結合演算子
                        noname (12/10)
                      • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
                        Moriaki_ (01/05)
                      • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
                        Moriaki_ (01/05)
                      • 2015年版 InterBaseの歩み
                        nakagami (12/06)
                      • 毎月日経SYSTEMSが届くたびに?が増え続ける: 日経SYSTEMSのコラム「ITアーキテクチャーの真髄」と「第7正規化」
                        meijik (11/22)
                      • 分散DB本読書会第46回メモ「STOP AFTER 10」
                        masudahidehiko (09/01)
                      • Windows上でのMySQLビルド方法
                        kinoyasu (03/31)
                      • 気軽に新しいMySQLを試してみる: MySQL Sandboxのススメ
                        MeijiK (09/19)
                      • 伝わらない曲シリーズ: 川島恵「ミスター不思議」
                        96 (07/05)
                      • 気軽に新しいMySQLを試してみる: MySQL Sandboxのススメ
                        MeijiK (02/17)
                      + RECENT TRACKBACK
                      + CATEGORIES
                      + ARCHIVES
                      + MOBILE
                      qrcode
                      + LINKS
                      + PROFILE