タグ

dbに関するhildeのブックマーク (67)

  • DBIx::TransactionManager の目的と、その使用法について - tokuhirom's blog

    DBIx::TransactionManager の目的と、その使用法について おはようございます。 DBI では当たり前のように $dbh->do('BEGIN') と $dbh->do('COMMIT') をつかえばトランザクションがつかえるわけですが、なぜ DBIx::TransactionManager のようなものが必要になったのでしょうか。 それは勿論、DBI で直接 transaction をとりあつかうと問題が発生するケースが存在するからです。 トランザクションと RAII 一番おおきいのは、トランザクションが中途半端な状態になってしまうことを阻止することです。たとえば、以下のようなケースでは、おかしなことになってしまいます。 my $dbh = DBI->connect(...); for (@stuff) { eval { $dbh->do("BEGIN"); $dbh

    hilde
    hilde 2012/11/25
  • 削除フラグのはなし

    PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring) Webアプリケーションにおいて、マルチテナント型、つまり複数のユーザー組織がアプリケーションとデータベースを共有する構成にすることがあります。この構成の持つリスクとして、万が一バグにより他テナントの情報が見えてしまうとそれは情報漏洩となり、重大なインシデントとなってしまうことがあります。この重要性を考えると、「気を付けて実装する」だけではなく、仕組みで漏洩を防ぐような対策には価値があります。 そこで、今回はPostgresSQLの行レベルセキュリティと、SpringAOPによる処理を組み合わせて、ログインしているテナントのデータにしかアクセスできなくする仕組みを実現しました。 導入にあたり考慮した複数の選択肢、乗り越えたいくつかの壁

    削除フラグのはなし
    hilde
    hilde 2011/08/10
  • HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか

    HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか 目次 この記事について FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか 背景 概観 詳細 一貫性と原子性 性能 FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか この記事について "How FriendFeed? uses MySQL to store schema-less data" の日語訳です http://bret.appspot.com/entry/how-friendfeed-uses-mysql CC 2.5 でライセンスされています: http://creativecommons.org/

  • pg_sleepをSQLインジェクション検査に応用する - ockeghem's blog

    SQLインジェクションの進化形として、ブラインドSQLインジェクションという手法があります。通常のSQLインジェクションは、検索結果表示やエラー表示のところに、アプリケーションの想定とは別のテーブル・列の値を表示するものですが、ブラインドSQLインジェクションは、SQLの結果がエラーになる・ならないを1ビットの情報として悪用し、これを積み重ねることで、データベース内の任意情報を得ることができるというものです。 1ビットの情報が得る手段としては、SQLのエラー表示に限らないわけで、現実問題として、SQLのエラーが外部からは判別しにくい場合もあります。そのような場合の究極形として、時間差を利用するという手法があります。 MS SQL Serverには、waitfor delayという命令があって、時・分・秒指定でスリープさせることができます。金床には、MySQLやPostgreSQLの場合の

    pg_sleepをSQLインジェクション検査に応用する - ockeghem's blog
  • キャッシュの大きいRDB vs インメモリデータベース、性能がどれだけ違うのか調べてみると

    2週間ほど前に「インメモリデータベースがクラウド時代の主流になるという期待」というエントリを書きました。ハードディスクに代わり、メモリをデータベースの永続化手段とするインメモリデータベースは、超高速なアクセスとスケールアウトを実現する、クラウド時代のデータベースの主役になるのではないか、という内容です。 この記事に関して、TechVisorの栗原さんと次のようなやりとりをしました。 確かに、Oracle Real Application Cluster(以下、Oracle RAC)でデータベースが全部載るくらい十分にキャッシュ用のメモリを割り当てれば、メモリ上でデータベースを操作するインメモリデータベースと同じことではないのか、とも思います。 両者の違いは何かあるのでしょうか? 調べてみることにしました。 インメモリデータベースは1000倍速い 調べてみるとすぐに、両者には明確な性能差があ

    キャッシュの大きいRDB vs インメモリデータベース、性能がどれだけ違うのか調べてみると
    hilde
    hilde 2009/08/20
  • Excelファイルからデータベースにインポートする·dbTube MOONGIFT

    Excelで作ったデータをデータベースに取り込む、なんて要件はよくある。面倒だがExcelデータをCSVに変換して、1番目のカラムが名称、2番目のカラムが価格…なんて定義したりした経験はないだろうか。 ビジュアル的にデータのインポートを定義する それがさらに関連しているテーブルに渡って処理しないといけないなんてなったらパニックだ。そこで使ってみたいのがdbTubeだ。 今回紹介するフリーウェアはdbTube、ビジュアル的にモデル定義ができるインポートプログラムだ。ソースコードは公開されているがライセンスは明記されていなかったのでご注意いただきたい。 dbTubeの良さは何と言ってもビジュアル的にデータの定義ができることだ。Open-jACOB Draw2Dを使って元になるExcelデータとテーブルのマッピングがドラッグアンドドロップでできる。さらにExcelデータは何行目から読み出すかと言

    Excelファイルからデータベースにインポートする·dbTube MOONGIFT
    hilde
    hilde 2009/06/27
  • PHP製のWebブラウザベースのDBコンソール·Uhura MOONGIFT

    MySQLを使ったWebシステムの場合、そのDB管理にphpMyAdminを用いることが多いのではないだろうか。ではPostgreSQLを利用する場合はどうだろう。その場合にはphpPgAdminがある。さらにFirebirdの場合はどうだろう。 まるでGUIアプリケーションのようなDB管理ソフトウェア 一つのDB向けに限らず対応していると、操作が同じで済むのでは混乱が少なくて済む。様々なDBを使いこなすならUhuraを使ってみてはどうだろう。 今回紹介するオープンソース・ソフトウェアはUhura、WebベースのDBコンソールだ。 UhuraはPHPで作られたDB管理ソフトウェアだ。データベースの一覧や、テーブルの一覧、ビューやトリガーの一覧を見ることができる。インタフェースにExtJSを用いているので、まるでGUIアプリケーションのような画面構成になっている。 様々なショートカットキーが

    PHP製のWebブラウザベースのDBコンソール·Uhura MOONGIFT
    hilde
    hilde 2009/06/14
  • URLを扱うテーブルを作るときにどうすべきか - 金利0無利息キャッシング – キャッシングできます - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    URLを扱うテーブルを作るときにどうすべきか - 金利0無利息キャッシング – キャッシングできます - subtech
  • Windows/Linuxで動作するシステムモデリングツール·Open System Architect MOONGIFT

    システム開発において、初期段階のドキュメントはしっかりと作られる傾向にある。もちろんデータベースの正規化や設計も適切に行われる。だが運用が開始してから起こる修正や、追加開発についてはそれらがおざなりになる。 論理モデル そしてシステムというのは目に見えず、全体像の把握が行いづらい。そこでまずは現状を見える状態にしよう。使うのはOpen System Architectだ。 Open System ArchitectはWindowsLinuxで動作するオープンソース・ソフトウェアで、GPLの下に公開されている。 Open System Architectは論理モデルと物理モデルの二つのモデリング手法に対応している。初期の開発からであれば論理モデルから落とし込んだり、逆に既にある場合は既存データベースからの構築機能があるのでそれを使って物理モデルからはじめれば良いのではないだろうか。 テーブ

    Windows/Linuxで動作するシステムモデリングツール·Open System Architect MOONGIFT
    hilde
    hilde 2008/12/08
  • A5:SQL Mk-2 - フリーのSQL開発ツール/ER図ツール

    A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL

    hilde
    hilde 2008/12/04
  • データベースを解析してレポーティング·SchemaSpyGUI MOONGIFT

    最初の開発ではデータベースの構造にも注意がされ、適切に正規化されているものだが、運用を続けていくうちに拡張、変更されて徐々にもとの形を失っていく。その中には非効率的なもの、不要になったものなどが溢れていることも多い。 接続情報などを設定する そんな時は構造を見やすい形に出力し、検討し直すのが良いだろう。その際に役立ちそうなのがSchemaSpyGUIだ。GPLで公開されているオープンソース・ソフトウェアで、元々コマンドラインベースで動作するSchemaSpyにGUIをかぶせたものになる。 SchemaSpyGUIが対応しているデータベースは(というよりもSchemaSpyになるだろうが)、Oracle/MySQL/PostgreSQL/DB2/Firebird/HSQLDB/Sybase/MS SQL Serverなどになる。主要なデータベースであれば大抵対応している。 テーブル一覧 利用

    データベースを解析してレポーティング·SchemaSpyGUI MOONGIFT
  • DB Designer Fork

    DB Designer Fork is a fork of the fabFORCE DBDesigner 4. It integrates entity relationship design,front-end (you can run queries) and SQL exporting.DB Designer Fork generates SQL scripts for Oracle, SQL Server, MySQL, FireBird, SQLite and PostgreSQL. Features Database Design ToolDDL Scripting Generation for MySQL, Firebird, SQLite, SQL Server, Oracle and PostgreSQLDatabase Reverse Engineering Tool

    hilde
    hilde 2008/06/16
  • 複文が利用できるデータベースの調査: SQL Serverが狙われるには理由がある - 徳丸浩の日記(2008-05-02)

    _SQL Serverが狙われるには理由がある SQLインジェクションを利用したWebサイトの改ざん事件が頻発している。標的となったサイトの多くがIIS(ASP)とSQL Serverの組み合わせを利用していることから、今回の攻撃がIISやSQL Serverの脆弱性を利用したものだと言う報道があるらしい。 これに対して、マイクロソフトが反論している。 「SQLインジェクション攻撃とIISは無関係」とMicrosoft しかしMicrosoftセキュリティ対策センター(MSRC)のブログで、今回のWebサーバ攻撃では「未知の脆弱性や新しい脆弱性は悪用されていないことが当社の調査で分かった」と説明。攻撃はIISやSQL Serverの脆弱性を突いたものではなく、アドバイザリー951306の脆弱性とも無関係だとした。 これはまぁ、もっともな内容だと思う。しかし、疑問は残る。なぜ、IISとSQ

  • Googleの誇る巨大データベースBigTableのオープンソースクローン「Hypertable」

    Googleのあの巨大な検索システムなどを支えるデータベース「BigTable」は書き込みが毎秒700MB、読み込みが毎秒18GBという化け物システムなのですが、それのクローンを作るプロジェクト「Hypertable」というのがあるようです。既にバージョンが今年の2月4日に「0.9 Alpha」まで到達しており、超巨大な分散データベースを考えている人々から注目されているようです。 詳細は以下から。 Hypertable: An Open Source, High Performance, Scalable Database http://www.hypertable.org/ ダウンロードは以下から。同梱されているテキストファイルにインストール方法などが記されています。 Download Hypertable 実際のテスト結果などは以下に書いてあります。 PerformanceTestAO

    Googleの誇る巨大データベースBigTableのオープンソースクローン「Hypertable」
    hilde
    hilde 2008/02/08
  • SQL Injectionツール - teracc’s blog

    ここのところ、いくつかのSQL Injectionツールについて調べていました。今日はその結果を日記に書いてみようと思います。 はじめに SQL Injectionツールとは SQL Injection脆弱性の発見と、発見した脆弱性を突いてのDB内情報の取得を行なうためのツールです。 ただし、多くのツールでは「脆弱性の発見」はおまけで、後者のDB内情報の取得に主眼を置いています。一般的には、汎用のWeb脆弱性スキャナなどで脆弱性を見つけて、その脆弱性に対してこの日記に書いているようなツールを使って情報を取得するという使い方をすることが多いでしょう。 SQL Injectionツールは、いわゆるHackingツールです。脆弱性検査を行なう者か、さもなければCrackingを行なう犯罪者が使うくらいで、一般のWeb開発者やユーザの人が使う必要に迫られることは無いでしょう。 ツールの使用に際して

    SQL Injectionツール - teracc’s blog
    hilde
    hilde 2007/12/04
  • SQLを色んな形式で整形できる「Instant SQL Formatter」:phpspot開発日誌

    Instant SQL Formatter SQLを色んな形式で整形できる「Instant SQL Formatter」。 入力したSQLをHTMLで分かりやすくカラーリング&整形したり、C#やDelphi、PHPなどの言語で使えるように変換することが可能です。 次のように、長ーーいSQL文があったとしても整形して見やすくすることが出来ます。 select i.obj#,i.ts#,i.file#,i.block#,i.intcols,i.t ype#,i.flags,i.property,i.pctfree$,i.initrans,i.ma xtrans,i.blevel,i.leafcnt,i.distkey,i.lblkkey,i.db lkkey,i.clufac,i.cols,i.analyzetime,i.samplesize,i .dataobj#,nvl(i.degree,

    hilde
    hilde 2007/10/14
  • Re: MySQL最適化のミニtips - 日向夏特殊応援部隊

    元ネタ: http://labs.unoh.net/2007/07/mysqltips.html あまり具体的じゃないので、僕の考えとか。 正しいかどうかは各自の状況だとか実際試すべきなんだけど、参考になれば。 MyISAM、InnoDBなどテーブルタイプ 僕は断然InnoDB派です。 ただ仰るとおり、ログるだけのテーブルとかならMyISAMでもいいとは思うけど。 トランザクションやロック処理などが必要ない場合など、MyISAM形式にも良いところはあるので検討してみる価値はあるかもしれません。 これだけの指摘だとちょっと微妙な気がするです。 MyISAMの使いどころってのは、 ピンで他とリレーションが無い単純追記系のテーブル リレーションがあり、同一トランザクション内での更新系クエリが存在する場合は、トランザクションが期待通りに動かないので、基的にはInnoDBと混在させるべきではない

    Re: MySQL最適化のミニtips - 日向夏特殊応援部隊
    hilde
    hilde 2007/07/20
  • MOONGIFT: » 凄いテキストデータベース「txtSQL」:オープンソースを毎日紹介

    はてなブックマークのコメントより。 昨日お伝えしたGladius DBの対抗馬として紹介したい。こちらもまた、テキストファイルをDBとして扱うことができる。さらにGladius DBへの挑戦なのか、ベンチマークを公開している。 今回紹介するオープンソース・ソフトウェアはtxtSQL、テキストベースのデータベースソフトウェアだ。 txtSQLはGladius DBとは異なり、SQL文を解釈しない。独自の関数にアクション(SELECT/INSERT/UPDATE/DELETE等)、テーブル名、データ、WHERE句などを指定して渡す必要がある。 そのため、既存のアプリケーションを乗り換えるには修正が必要になってしまうのが難点だ。だが、新規開発であれば関係ないだろう。また、その結果として高速性が売りだ。Gladius DBの10倍近いパフォーマンスが出ている。 面白いのは、サンプルアプリケーション

    MOONGIFT: » 凄いテキストデータベース「txtSQL」:オープンソースを毎日紹介
    hilde
    hilde 2007/07/13
  • アシアルブログ

    2018-12-21 経済産業省『未来の教室』実証授業の一環として宮崎県立日南振徳高等学校で『農業IoTシステム自作』講座を開催しました MonacaEducation担当の岡です。経済産業省『未来の教室』実証授業の一環として宮崎県立日南振徳高等学校の生徒達とビニールハウスなどの温度湿度をクラウドに記録、スマートフォンやタブレットなどのモバイル端末からグラフとして情報を確認できるようなシ… 経済産業省『未来の教室』実証授業の一環として宮崎県立日南振徳高等学校で『農業IoTシステム自作』講座を開催しました 2018-12-14 IT健保(関東ITソフトウェア健康保険)のお得な活用方法について調べてみた はじめまして、諸井です。 マーケティングや営業のフロント・バックオフィス全般を担当しています。 入社して3年弱、嬉しかったことはいくつかあるのですが、そのひとつは関東ITソフトウェア健康保険

    hilde
    hilde 2007/07/12
  • MOONGIFT: » DBがなくともDBを使う「Gladius DB」:オープンソースを毎日紹介

    この手のソリューションとしては最高峰と言えるかも知れない。 最近のWebアプリケーションはDBの利用がほぼ当たり前になっている。やはりデータの取り出し、更新などはDBを使うと非常に簡単に行えるからだろう。だが、レンタルサーバーなどでは必ずしもDBが使えるとは限らない。 そこで使ってみたいのがこれだ。また、自作アプリケーション開発時にも使えそうだ。 今回紹介するオープンソース・ソフトウェアはGladius DBPHPで作られたファイルDBだ。 Gladius DBの凄いところはSQL92に準拠して開発が進められている点だ。CREATE DATABSEからはじまって、USE、CREATE TABLE、INSERT、UPDATE、DELETE等が利用できる。 もちろん、WHERE句やOREDR BYもサポートされている。ADOdb Lite向けのドライバーも提供されており、これを使えばADOd

    MOONGIFT: » DBがなくともDBを使う「Gladius DB」:オープンソースを毎日紹介
    hilde
    hilde 2007/07/12