タグ

SQLiteと開発に関するiwwのブックマーク (3)

  • SQLiteで学ぶデータベース操作の基礎 - Perl入門ゼミ

    Perl › データベース › here Perlを使ってデータベースは初級者が学ぶには今までは少し敷居の高いものでした。まずSQLの実行環境を構築する必要がありすぐに勉強したいという需要を満たすことはできていませんでした。 ですが現在はこの状況は変わりました。現在ではActivePerlをダウンロードするとDBD::SQLiteと呼ばれるSQLiteを利用するためのモジュールがパッケージングされています。 またデータベースに接続するためのユーザから見たインターフェイス部分にあたるDBIというモジュールもパッケージングされています。 ですのでActivePerlの最新版をダウンロードするだけで何の環境構築も行わないでデータベースを学習し始めることができます。 DBD::SQLiteDBIがインストールされていることを確認する まずDBD::SQLiteDBIがインストールされているかど

    SQLiteで学ぶデータベース操作の基礎 - Perl入門ゼミ
  • H2、Derby、SQLiteの仕様の調査メモ(ロック周り) - ソフト開発お仕事メモ🐕

    はじめに 軽量DBのロック周りを話題にする人はあまりいません。 並列度が高い状態で使うことは稀であり、ロック周りはわりとどうでも良いことだと私も思います。でも、気になって気になって仕方ないので軽く調査しました。 調査対象 私がたまたま名前を知っていたものを調査することに決めました。 H2 Database Engine 1.0.79 Apache Derby 10.4.2.0 SQLite 3.6.4 ロックの粒度 狙ったわけではないのですが、見事にばらばら。 H2 デフォルトはテーブル全体です。行レベルロックは未サポート。ベータ版ならば、行レベルロックもサポートしてる模様。 (Features -> Comparison to Other Database Enginesより) Derby デフォルトは行ロックです。ただし、特定のトランザクションについては、Derbyがパフォーマンスの上

    H2、Derby、SQLiteの仕様の調査メモ(ロック周り) - ソフト開発お仕事メモ🐕
  • SQLite での ロック - 元祖 サトシのブログ

    あるプロセスが データを書き換え中に、他のプロセスが書き換えできないようになっているようだ。 仕組みとしては、トランザクション中に、他のプロセスがトランザクションを開始しようとすると、SQLITE_BUSY ってのが返ってくる。 APIsqlite_busy_timeout() を使って、SQLITE_BUSY になるまでの時間をミリ秒で指定できる。 トランザクションの開始だけでなく、DELETE, INSERT, UPDATEなども出来ないようになっている。 pysqlite を使って実験(Python) 別のプロセスでトランザクション状態にしておく。(例: sqlite コマンドを使って、BEGIN; を実行しておく) 以下の Python スクリプトを実行する。タイムアウトは10秒(10000ミリ秒) import sqlite con = sqlite.connect("te

  • 1