1read 100read
2011年11月2期データベース16: SQLite 9 (635) TOP カテ一覧 スレ一覧 2ch元 削除依頼

SQLite 9


1 :11/02/27 〜 最終レス :11/11/16
サーバの要らない軽量データベース SQLite についてのスレです。
SQLite Home Page
http://www.sqlite.org/

2 :
過去スレ
sqliteを語るスレ
http://pc8.2ch.net/test/read.cgi/db/1056956494/
SQLite 2
http://pc8.2ch.net/test/read.cgi/db/1140827718/
SQLite 3
http://pc8.2ch.net/test/read.cgi/db/1152367932/
SQLite 4
http://pc11.2ch.net/test/read.cgi/db/1162621344/
SQLite 5
http://pc11.2ch.net/test/read.cgi/db/1176223619/
SQLite 6
http://pc11.2ch.net/test/read.cgi/db/1193118037/
SQLite 7
http://pc11.2ch.net/test/read.cgi/db/1220581676/
SQLite 8
http://hibari.2ch.net/test/read.cgi/db/1250225486/

3 :
ツール等
Management Tools
http://www.sqlite.org/cvstrac/wiki?p=ManagementTools
【GUIツール】 TkSQLite
http://reddog.s35.xrea.com/wiki/TkSQLite.html
【ADO.NET 2.0 Provider】 System.Data.SQLite
http://sqlite.phxsoftware.com/
【ODBC】 SQLite ODBC Driver
http://www.ch-werner.de/sqliteodbc/
【JDBC】 SQLiteJDBC
http://www.zentus.com/sqlitejdbc/
【ADO.NET provider】 System.Data.SQLite
http://sqlite.phxsoftware.com/
【GUI管理ソフト】 PupSQLite
http://www5.plala.or.jp/Pup/
【Firefox add-on】 SQLite Manager
http://code.google.com/p/sqlite-manager/
https://addons.mozilla.org/ja/firefox/addon/5817

4 :
ネタ
OS X ハッキング! SQLiteが広げるこれからのアプリケーション
http://journal.mycom.co.jp/column/osx/236/
SQLite Java Wrapperのコンパイル
http://syo.cocolog-nifty.com/freely/2007/10/sqlite_java_wra_f79c.html
SQLiteへの大量のINSERT処理が厳しい (CodeZine編集部ブログ):
http://codezine.jp/blog/2007/10/sqliteinsert.php
SQLite性能評価その1
http://www.sutosoft.com/room/archives/000450.html
Fulltext index on SQLite
http://www.dodgson.org/omo/t/?date=20061001
SQLite の全文検索を Python から使ってみる (1)
http://plaza.rakuten.co.jp/kugutsushi/diary/200707270001/
SQLite Full Text Search with MeCab
http://reddog.s35.xrea.com/wiki/SQLite%20Full%20Text%20Search%20with%20MeCab.html

5 :
和書
SQLite入門 第2版 (西沢直木 著)
http://www.amazon.co.jp/dp/479811944X
和書で SQLite のみにフォーカスした書籍はこれ一択か。
入門用にはとりあえずこの一冊。
PHP+SQLite実践サンプルブック (豊崎直也 著)
http://www.amazon.co.jp/dp/4883374297
(内容不明。補足よろ)
Pocket詳解 SQL辞典 (堀江美彦 著)
http://www.amazon.co.jp/dp/4798018619
各種 RDBMS 対応の SQL のリファレンス本で、SQLite にも対応。
が、ざっと見たところ SQLite に関してはあまり緻密に調べられておらず
不正確なところもあるように見受けられる。
基礎から学ぶWebデータベースプログラミング (堀川久 著)
http://www.amazon.co.jp/dp/4274065294
前半は SQL の基礎について、後半は Ruby で Web アプリの作成についての説明。
PostgreSQL, MySQL, SQLite の仕様の違いにも触れられている。
が、 SQLite は SQLite2 ベースなので情報が古いかも。
洋書
The Definitive Guide to Sqlite (Mike Owens 著)
http://www.amazon.co.jp/dp/1590596730
SQLite (Developer's Library) (Chris Newman 著)
http://www.amazon.co.jp/dp/067232685X

6 :
乙です

7 :
おもちゃとして楽しむのがベスト。
どんどん遊びましょう。

8 :
>>1
和書は少し増えてるからテンプレに追加したほうがいいかも。
新標準SQLite
http://www.amazon.co.jp/dp/4797354739/
SQLite ポケットリファレンス
http://www.amazon.co.jp/dp/4774143944/
「PHP+SQLite実践サンプルブック」は6年前の本だし抜いてもいい?
他にOreillyのSQLite本が早く翻訳されないかね。
http://www.amazon.co.jp/dp/0596521189/

9 :
>>8
こんなのあったのか。とりあえず買った。
技術書の英語なんて日本語と大差ないし。

10 :
SQLiteに解説書なんて必要ないだろ。

11 :
SQLiteのSQLで改行コードの置換ってできないんですか?

12 :
>>11
出来るよ。改行を置換する関数を追加するといい。
http://www.sqlite.org/cintro.html
詳細はここを読んでね。

13 :
また口だけ神様か・・・

14 :
>>12
具体的に説明せよ

15 :
>>9
SQLiteなんかの解説書読んで何を学びたいの?
何か学べてるの?

16 :
日本語の解説書は、自分では読まず、布教用に使う。

17 :
せめてストアドがないと布教には使えません(><

18 :
節穴か?

19 :
誤爆すまん

20 :
>>16
自分では読む価値も無いって思ってる物を人に押し付けるなよw

21 :
ま、日本語ドキュメントが無いからな…とかいう軟弱は多いな

22 :
Decimalがない上に開発者が「他使えば」って言う環境じゃ不興には使えません(><

23 :
ま、日本語ドキュメントが無いからな

24 :
Decimalが必要な用途でSQLite使っちゃ駄目だろうw

25 :
弟子丸 忍忍でござるよ

26 :
SQLite.NETを入れてデザイナで外部キー制約を付けても、一向に反映されない
んですが、もしかしてSQLiteに外部キー制約が実装されていない?

27 :
>>26
3.6.19以降なら
PRAGMA foreign_keys = ON;
で有効になる。

28 :
>>27
ありがとうハニー

29 :
SQLiteって同時にDBアクセスしたりした時の対応とかできないから昔のアクセスカウンターみたいに壊れることあるよ
って同僚から言われたんだがそうなの?
いくら軽量だからっていまどきのDBでそんな初歩的なことをしてないものはないと思うんだけど。

30 :
>>29
>SQLiteって同時にDBアクセスしたりした時の対応とかできないから昔のアクセスカウンターみたいに壊れることあるよ
>って同僚から言われたんだがそうなの?
んなわけない

31 :
だよな
MySQLみたいなのはいいけど、SQLiteは軽量化するために機能を削ってるから複数の人が同時に書き込んだりするとダメになるとあまりにも真剣に言うもんだからよ。
何かと勘違いしてるのか、それとも昔の古いバージョンはそうだったとかだろうか。

32 :
アクセスカウンターが壊れるってどんな現象なんだろうか。

33 :
>>29
前スレにロック周りのことがガシガシ書かれているから、読んでみ。

34 :
>>32
今はないと思うけどカウンターの動きとして
1.ファイル開く
2.中の数字を拾う
3.数字に+1する
4.ファイルを綺麗にする
5.+1した数字を書き込む
って動作になるけど、ファイルのロックとかがない場合に「4」のときに他の人がファイルを開くと
何もないファイルを開いて、それに+1することになるわけ。
そうすっと0+1でアクセス数が1になってしまうってこと。
壊れるってのとはちょっと違うけどロックがないとタイミングによっては意図しないデータになってしまうというオチ。

35 :
ロックの無いファイルシステムなんてあるの?
読み取りタイミングでカウント漏れなら普通にあるけど

36 :
>>32
F5 attack とか?

37 :
>>35
昔のカウンターはflock使ってないのが結構あったんだよ、KENTのとかね。Windows 98でflockが使えなかったのが原因だと思うけど。

38 :
>>34
それは別の話じゃ?

39 :
>>17
ストアドっていうのは、まとまった処理をサーバー側で実行させるので
いちいちクライアントから実行するよりも高パフォーマンスって話なんだが。
DBエンジンが同一プロセスで動作するSQLiteにストアドなんていらんよ。
プリペアドステートメントを必要な数だけ用意しておいて、
まとめて実行すればいいだけ。

40 :
>>22
適当にBLOBか何かでDecimalの内部データを格納しておいて、
変換関数を定義すればいいだけの話だろ。
検索やインデックスに使いたければ、カスタムコレーションシーケンスを
定義すればいい。

41 :
>>39
>>40
たちこめる圧倒的馬鹿臭

42 :
>>41
馬鹿ではなく最近の若者は布教とかお布施とか大好きみたいだぞ

43 :
今もファイルロック周りはあやしいよね

44 :
あやしいのはお前の頭だろうw

45 :
3の初期のころはひどいバグがいっぱいあったが
最近はかなりちゃんとしてる

46 :
なんかたまにロックしっぱなしになるな

47 :
どんなときにそうなるのか
検証していただくと
大変感謝されると思います。

48 :
>>47
頭の弱い>>46にそんな事期待するなよ
可哀想だろう

49 :
>>48
そうでしたか。
すみませんでした。

50 :
検証用に insertしてselectしてdeleteする
だけのプログラムを書いて、100万回起動してみた。
シングルスレッド、シングルプロセスなのに、確かに
database is locked が発生するね・・・

51 :
>>50
頭悪すぎw

52 :
前のプロセスが完全に終了する前に次のプロセスを起動してるとかじゃないよね

53 :
そのCソスを出して欲しいね

54 :
ソースコードと環境を示さない「検証」は大抵あてにならない

55 :
なんでこのスレって、ヒステリックなやつばかりなんだ??

56 :
ソースとテスト環境がわからんと何も言えんわな

57 :
>>55
「お手軽に扱える」といううたい文句に釣られたゴミクズの吹きだまりだから。

58 :
ヒューリスティック

59 :
ちょっとしたものならCSVで扱ってますが、DBとかを使う場合はみなさんはどういったことを基準に使いますか?
例えば想定ユーザーが1000を超える場合とか、アクセスが1000超える場合とかあれば教えてください。

60 :
むしろ、よっぽどの理由がない限りCSVなんて使いません。
基本的にすべてDBを使ってます。

61 :
>>59
検索をするかしないか、で判断します。
検索をしないならCSVファイルのままでいきます。

62 :
まぁ 速さ云々言わないなら、DBでいいのでわ?

63 :
「基本的にDBのが遅い」のか? なんか使い方次第なイメージがあるんだが。

64 :
工数も入れての事です。
ってCSVのハンドルも結構ややこしいか。
でもライブラリ作ってるだろうし。

65 :
>>59
データ量にかかわらずSQLite使った方が工数的にもパフォーマンス的にも上だから、
何かしらの要件がない限りそもそもCSV(やTSV)を使おうとなど思わない。
アクセス数がどうとかユーザー数がどうとかじゃない。
何かしらの要件、言い換えればCSVのメリットとは、例えば
マスターデータをエンドユーザがメンテする際にTkSQLiteとかの使い方をレクチャーしたくないからExcelで編集させたい場合とか、
自分でもテキストエディタでいじれた方がメンテが楽な場合とか。
>>61
更新するかというのも大きな要素だと思うね。
管理者のみが更新するマスターデータを読み込むだけならCSVでも全然面倒じゃない(CSVとの工数差が僅かしかない)けど、
更新も伴うと排他処理考えなきゃいけなくなるからSQLite使った方が断然楽になる。
例えば2chの板一覧みたいなデータはCSVやTSVでもいいけど、スレの書き込みの内容を保存するDATみたいなデータをCSVにする気は起きない。

66 :
他に考えられる、CSV等を選ぶシーンとしては、可搬性が重視される場合かな。
どの鯖でもSQLite使えるわけじゃないから。
ちょっと古い話だけどKENTのPerl CGIがレガシーなコードで非常に非効率なのにもかかわらず人気を得た理由の一つに、環境を選ばないということが挙げられるだろう。
「Perlが動く環境ならどこでも使える」シンプルさが受けたんだろう。あれがもしSQLiteを使ってたとしたらそこまでの人気は得られなかったはず。
tDiaryが非効率なテキストベースのデータストアを使い続けてる理由も「Rubyさえ動けば使えます」ということがウリの一つだからだろうね。
そういう意図のないスクラッチなアプリ書くならわざわざCSV選ぶ意味はない。

67 :
そういう意味では、標準ライブラリにSQLiteが組み込まれているPython最強
しかしSQLiteが組み込まれているのは2.5以降なのに、世の中は2.4以下のサーバが多かった

68 :
読み込みだけならCSVでもいいけど
書き込みはいやだなぁ

69 :
CSVより固定長の方がまだマシ

70 :
csvにする位ならtsvにするな

71 :
CSVとTSVって比べる意味が無い気がするんだが……せいぜいWindowsで規定されてるかどうかくらい?

72 :
タブが使えなくて困る場面は相対的に少ないのでタブ禁止TSVにするとエスケープを考えなくてもよくなる
エスケープ必須でちゃんとした仕様が必要ならばRFCのあるCSVのほうがいいかもしれない

73 :
1セルにタブや改行が含まれることがないならTSVがいいね。処理もCSVより断然軽いし。
CSVってRFCになってたのか。知らなかった。

74 :
読み書きに普通にSQLが思い浮かぶ人はSQLite
そうでない人はCSVになるんだと思う。

75 :
後者の人とは一緒に仕事したくないな…

76 :
SQLが現実的に使える限り、絶対にCSVは使わないでFA

77 :
>>76
SQLにこだわる理由は?
noSQLでいけるならそっちがいいし
ただのログならCSVでいいよね

78 :
ログの出力形式にCSVはないわー。
TSVならわかるけどね。
TSVやSQLiteで簡単に済む問題をわざわざ複雑なCSVにしたがる奴ってただCSVしか知らないだけだろ。

79 :
NoSQL(笑)

80 :
実際のところ、RDBMSよりKVSが適する用途ならどんどんKVS使えばいいんだけど、
>>59>>77はそういう次元でものを語ってないから論外だよねっていう。

81 :
>>78
×CSVしか知らない
○CSVをろくに知らない
まともにCSVを扱おうとするとSQLより圧倒的にめんどくさく、最後に互換性問題でブチ切れる

82 :
好きな物をつかえよ

83 :
そこでBerkleyDBですよ、となるのか。

84 :
BDBみたいなKVSを選ぶのはあり
しかしCSVはまずないな、CSVが適するシーンはかなりのレアケース

85 :
そよね。
データん中にカンマあったらどうすんのとか。

86 :
まあたまに外からのデータ受け付けるのに対応することは
あるけどな、エクセルしか使えないような人がcsv出力して持ってくるとか。
でもまあそれでもインポートまでだけどな。

87 :
CSVで今時自作想定な事に驚いた

88 :
それほどめんどくさいと言いたいのか?

89 :
>>85
RFCに則ってつくるだけでいいじゃん
ていうか、テキストなKVSってあんの?

90 :
CSV扱うのに枯れたライブラリとかあるんだっけ?

91 :
>>87
何かしらのライブラリを選べる環境で敢えてCSVを選ぶメリットをkwsk

92 :
>>91
顧客の要求仕様どおりに作ることができる

93 :
>>92
それは仕様と呼ぶものであってメリットとは呼ばないわな。
複数の選択肢がある中で敢えてCSVを選ぶメリットをkwsk

94 :
データ永続性
各種データベース形式 20年
CSV形式 1000年
紙 10000年

95 :
テキストで見れる ってのがでかいかな
DBへインポートもしやすいし
エクスポートも結局CSVだったりするし
TSVは人に説明するのが面倒

96 :
>>91
>>87がCSVを選ぶ方がいいと考えているレスだと思った理由kwsk

97 :
いや、ないならないと言ってくれればそれでいいんだけど。

98 :
紙と墨は2000年の検証に耐えた
との事。

99 :
まあ話を元に戻すと、>>59のような文脈でのデータ保存形式でCSVを選ぶのはただのアホだよねってことでFA

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼