オープンソースDataBase
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGUNIX / BSD / Linux で使える
オープンソースなDataBaseに関する雑談・相談スレ
0002名無しさん@お腹いっぱい。
NGNGMySQL:
http://www.mysql.com/
http://www.mysql.gr.jp/
PostgreSQL:
http://www.postgresql.org/
http://www.postgresql.jp/
Firebird:
http://firebird.sourceforge.net/
http://www.egroups.co.jp/group/Firebird-jp-general
0003名無しさん@お腹いっぱい。
NGNGこのスレは
PostgreSQL or MySQL
http://pc.2ch.net/test/read.cgi/unix/955533785/
の次スレで、他の db も視野に入れたという位置付けでいいのでしょうか?
0005名無しさん@お腹いっぱい。
NGNG0006名無しさん@お腹いっぱい。
NGNGFirebirdは結局のところInerBaseなんでしょ?
MozillaとNetscapeの関係と同じだと認識しているのだがどーなのさ。
0007名無しさん@お腹いっぱい。
NGNGしかし,マジで使うならPostgresの方が安心感はある,
だからFirebirdは使ったことありません MySQLは時々使うけどね.
0008名無しさん@お腹いっぱい。
NGNG我々の仲間内ではアルファベットとか英字と表現します.
0009名無しさん@お腹いっぱい。
NGNG0010動画直リン
NGNG0011名無しさん@お腹いっぱい。
NGNGどうやったら早くなるのか誰か教えてくれー
ちなみにおいらが検索スピードを調べた結果をさらすと
PostgreSQL > MySQL(MyISAM) > Firebird の順番だった
#データ件数1000万&仮想クライアント数400
クライアント1台からSQL叩くんならFirebirdって結構早いんだけどね
ついでにMySQLのInnoDBもクライアント数が増えると遅いよぉ
0012名無しさん@お腹いっぱい。
NGNGインデックスキーの持ち方が独特なので、そのせいかも。
但し、これもデータ件数やインデックスの数が少ないISAM的なデータで
>>11が書いたみたいにクライアント台数が極端に少ない環境では
効率が良い場合もある、よくIBは小中規模程度のシステム向けと
言われることの理由の1つで管理ツールやDB管理が簡単である点等の
メリットを感じなければ業務用途ではPostgreSQLを使うのが最良だと思う。
001311
NGNGデータ自体も圧縮して持ってるとかどこかに書いてあったし
インデックスも色々やってるみたいですね.
チューニングしようにもパラメタがロクにないんで正直手詰まり状態です.
CS・SSとも色々やってみたんですが性能は大きく変わったりしませんでした.
Ver1.5で早くなっているとか某MLで出てましたけど,そっちに期待かな...
0014名無しさん@お腹いっぱい。
NGNGpostgresもデータ圧縮してなかったっけ?
Firebirdって、データファイルを一つにまとめちゃうんでしょ?
それの弊害って有りそう。
001511
NGNGFirebirdはデータファイルを複数にもできるんですよ.このへん微妙ですね.
MySQLのInnoDBみたいな感じで設定します.分散された中身をどう使っている
のかは,各RDBMSそれぞれの実装依存なのだと思います.
#ソースをハックしてるワケではないので詳細は知らないんです.
PostgreSQLって圧縮してましたっけ?今は分からないっす.
001611
NGNGとりあえず/var/lib/pgsql/dataをdu -hしたら8.5GBでした.
同じデータをMySQL(MyISAM)だと2.9GB.Firebirdだと3.6GB.ですた.
#EXT3での値です.
MyやFBに比べて圧縮率は低めのようですね.
ついでにWindows版(NTFS)も晒しておきますと
Oracle8.1.6=12.8GB
SQLServer2000=4.2GB
Firebird=3.9GB
MySQL(MyISAM)=2.4GB
MySQL(InnoDB)=11.2GB
いちおう参考までにということで.
0017名無しさん@Emacs
NGNG可変長属性で実際のデータが8k越えるものは圧縮されます。
「PostgreSQL TOAST」で検索しる。
001811
NGNGやだ
0019名無しさん@お腹いっぱい。
NGNGなんで?
002018
NGNG要約してここに書いてくれれば読むけど
自ら調べる程の価値は感じない情報って感じ
0021名無しさん@お腹いっぱい。
NGNGあっそ
0022○
NGNG1.DBダンプをはいてハックアップ
2.データベースDROP
3.データベースCREATE
4.DBダンプをロード
という運用をしているのですが、
この場合だと「VACUUM」を
使用する必要はないのでしょうか?
#この運用でpostgresが死んだので・・・
#他に原因が考えられない(^_^;)
0023名無しさん@お腹いっぱい。
NGNG死んだってどういうこと?
確かにこれなら vacuum 必要ないけど、いちいちこんな事やるの
すげー面倒じゃないか?
0024名無しさん@お腹いっぱい。
NGNG必要か不必要かっていえば別に必要じゃないけど、
まともに使いたいなら vacuum --analyze はやっておくべし。
トラブルの原因は知らんけど。
0025名無しさん@お腹いっぱい。
NGNGぽすぐれは高負荷時にバックアップ取ると死ぬ
と主張されてる香具師がおりまつが誠でつか?
つか、どのくらいの負荷だと死にますかね?
いくらなんでも、ヘタレな漏れの 6.3〜6.8 くらいの負荷では
いつバックアップやっても無問題ですよね?
0026名無しさん@お腹いっぱい。
NGNG全然面倒じゃないです。
シェルスクリプトにして、
cronで毎日自動実行。
#やはり、vacuumは必要ではない、と・・。
#DROP&CREATEで不要領域はクリアされるのか・・・。
0027名無しさん@お腹いっぱい。
NGNGindex はどうするの? analyze しないと index を使ってくれないはず。
0028名無しさん@Emacs
NGNGdrop tableすればテーブルのファイルそのものが削除されるんだから、
その後のcreate tableのときに不要領域が無くなるのは当然。
それより、>27も言ってるように、analyzeしないと統計情報が
更新されないから、オプティマイザがアホなままですよ。
つか、何のために>22みたいなことを毎日やってんの?
0029名無しさん@お腹いっぱい。
NGNGシステムが構築された時期は2年位前。
アクセス数はごく少数のシステムで、
夜中は一応サービス時間帯にはなっているが、アクセス数はほぼゼロ。
いままで問題なかったけど、vacuum 実行してなかったので
ディスクが一杯になってしまった、または性能が劣化した。
どうせ vacuum しなければならないんだったら、
drop して再構築すればいいと考えた。
担当者の技術レベルはそんなに高くない。というか素人レベル。
検証の手間をかけれられないので、
concurrent vacuum をサポートした新しいバージョンは使えない。
もしくは、複数のバージョンの postgres を共存させる手法を知らないだけ。
こんなところか?
0030名無しさん@Emacs
NGNG0031名無しさん@お腹いっぱい。
NGNG惜しい。1年くらい前。
>>アクセス数はごく少数のシステムで、
アクセス数は「ごく少数」でもないが、それほど多くもない。
ホームページなんだけどね。イントラネットの。
>>夜中は一応サービス時間帯にはなっているが、アクセス数はほぼゼロ。
いえ、夜中はサービスしてません。アクセス数ほぼゼロは当たり。
>>いままで問題なかったけど、vacuum 実行してなかったので
>>ディスクが一杯になってしまった、または性能が劣化した。
よくわかりません。ディスクは一杯じゃないけど・・・。
>>どうせ vacuum しなければならないんだったら、
>>drop して再構築すればいいと考えた。
>>担当者の技術レベルはそんなに高くない。というか素人レベル。
「素人レベル」・・・。当たり。というより、素人そのもの。
その辺のおっさんレベルです。
訳のわからんまま引き継いだが、
他の仕事がいそがしくて、みてる暇がないまま、トラブル発生。
>>検証の手間をかけれられないので、
当たり。
>>concurrent vacuum をサポートした新しいバージョンは使えない。
>>もしくは、複数のバージョンの postgres を共存させる手法を知らないだけ。
知りません。
>>こんなところか?
結構あってますね。
0032名無しさん@お腹いっぱい。
NGNG>>自分のやってることを恥ずかしく思わないエンジニアつのはどうなのかね。
0033名無しさん@お腹いっぱい。
NGNG0034動画直リン
NGNG0035名無しさん@お腹いっぱい。
NGNGttp://www.hwaci.com/sw/sqlite/
0036名無しさん@お腹いっぱい。
NGNGpg_dumpを実行してテーブルの構造やPL/pgSQLの関数を吐き出してみたのですが、
出力順がバラバラで読みにくくて仕方ありません、
名称順にソートしたり出来ないのでしょうか?
または、pg_dump以外にPL/pgSQLの定義や関数を取り出す方法があれば
教えて下さい。
0037名無しさん@Emacs
NGNG知っている人いませんか?
0038名無しさん@お腹いっぱい。
NGNG0039名無しさん@お腹いっぱい。
NGNG何か知っている人いませんか?
0040名無しさん
NGNG何がどうできないのか、状況きちんと書け。
0041名無しさん@お腹いっぱい。
NGNG俺んとこだと -march=pentium3 以上にすると initdbでsignal 4を喰らいます。
FreeBSDだと-STABLEでも-CURRENTでも出ました。gccは2.9xと3.2の両方試しました。
他のOSではどうすか?
0042山崎 渉
NGNG( ´∀`)/< 先生もろDVDはどこですか?
_ / / / \___________
\⊂ノ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄||
|| || ̄ ̄ ̄ ̄ ̄|| ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.|| || (´Д` ) < http://www.dvd01.hamstar.jp だ!
/ \ \___________
|| ||
|| ||
__ //_ //___
/ // // /
/  ̄  ̄ //
|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ||
|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ||
|| 教卓 || ||
|| ||
0043名無しさん@お腹いっぱい。
NGNGFrom: "Tom Lane" <tgl@sss.pgh.pa.us>
Subject: [HACKERS] Heads up: 7.3.3 this Wednesday
pgsql-core have agreed to put out a 7.3.3 release on Wednesday (5/21),
God willin' an' the creek don't rise. If anyone's got anything you've
been planning to fix in the 7.3 branch, now is a real good time to get
it done.
0044名無しさん@お腹いっぱい。
NGNG0045名無しさん@お腹いっぱい。
NGNGhttp://www.postgresql.jp/document/pg732doc/
0046名無しさん@お腹いっぱい。
NGNGPostgreSQLやMySQLのスーパーユーザーやらが
各マシンに点在しててもはや脳味噌がパンク
しそうです。PostgreSQLなんかにパスワード
を全部メモしておくのはやっぱ危険かな?
0047名無しさん@お腹いっぱい。
NGNGメモに書いとくほうが1万倍マシ。
0048名無しさん@お腹いっぱい。
NGNG0049名無しさん@お腹いっぱい。
NGNG紙にメモ >>>>>> PDA >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DB
だろうな。どんなに多くたって100個程度なんだから、検索性なんて
無視して OK なんだし。
紙だと人から見られたときどうするのという問題があるんで、PDA でパスワードの
書いてある表をパスワードロックしておくというのもありだけど、この辺は
セキュリティに関しての考えかた次第かな。
0050山崎渉
NGNG0051a
NGNG0052名無しさん@お腹いっぱい。
NGNGFrom: "Tom Lane" <tgl@sss.pgh.pa.us>
Subject: [HACKERS] Heads up: 7.3.3 this, er, Friday
To: "pgsql-hackers@postgreSQL.org" <pgsql-hackers@postgreSQL.org>
Well, the postgresql.org server move has proven to be much messier than
we hoped, so it seems prudent to delay a couple days while the kinks
get worked out. New plan is 7.3.3 release on Friday (5/23).
0053名無しさん@お腹いっぱい。
NGNG0054名無しさん@お腹いっぱい。
NGNGv 7.3.3.はほんとは21日にリリース予定だったけど、
ちょっと遅れて23日金曜日にリリースするよ、ゴメンよ。
0055名無しさん@お腹いっぱい。
NGNGエラーを出さずにあたかもINSERTが成功したかのように結果を返す(しかし実際には重複行
はINSERTしない)ようにするにはどうしたらいいですか?
0056名無しさん@お腹いっぱい。
NGNG0057名無しさん@お腹いっぱい。
NGNGクライアント側のエラー表示を消したいということなら、
自分でエラーハンドリング(この場合は非表示か?)した方がよいのでは?
0058名無しさん@お腹いっぱい。
NGNGアンマッチなデータだけINSERTするようにしたら?
一番簡単にやるならトランザクションにして、
INSERT先の該当データをバサっと消してから全てをINSERTしたら?
0059名無しさん@お腹いっぱい。
NGNG商用のデータベースについて調べてみたんですけど
"??"になってるとこ誰か埋めて下さい。これ忘れて
るよってのもあったら埋めて下さい。
製品名(メーカー)
動作プラットフォーム
URL
オラクル(オラクル)
??
http://www.oracle.co.jp/
DB2(IBM)
Windows NT, Windows 95/98, OS/2, Linux。
http://www.db2.jp/
Infomix(IBM)
??
http://www-6.ibm.com/jp/software/data/informix/
Adaptive Server Enterprise(sybase)
HP/UX,IBM AIX,Sun Solaris,Compaq Tru64 UNIX,WinNT(Mac OS X用もあり)
http://www.sybase.co.jp/product/ase/index.html
0060名無しさん
NGNG洩れてる商用RDBMSとしては、
Symfoware(富士通)とかHiRDB(日立)とかがあるね。
で、どうしてここで商用DBMSの質問をするのさ?
0061名無しさん@お腹いっぱい。
NGNGhttp://developers.slashdot.org/developers/03/05/23/1826202.shtml?tid=137&tid=198
いずれSAPがMySQL上で動いちゃったり?
0062名無しさん@お腹いっぱい。
NGNGサンクス。他にRDBMS関係のスレが見付からなかったもんで。
0063名無しさん@お腹いっぱい。
NGNGこんなレベルの奴に仕事させたくねーな。
0065名無しさん@お腹いっぱい。
NGNGまあまあ。レポートのネタでしょ。
SymfoWareとPostgreSQLもなんかやってるね。
0066あぼーん
NGNG0067名無しさん@お腹いっぱい。
NGNGPosted on 2003-05-27 by press@postgresql.org
The PostgreSQL Global Development Group has released PostgreSQL 7.3.3.
It is highly recommended that those running earlier version of the 7.3
branch upgrade at their earliest convenience.
http://www.t.ring.gr.jp/archives/misc/db/postgresql/source/v7.3.3/
0068名無しさん@お腹いっぱい。
NGNGhttp://www.postgresql.jp/document/pg732doc/admin/install-procedure.html
を見ているのですが
./configureオプションで
--enable-debug
--enable-cassert
を使うべきか迷ってます。
どちらも
「開発作業時やベータ版を実行する時は、常にこれを有効にすべきです。 」
と書いてありますが、
ここでの開発作業時というのはJavaやC++からPostgreSQLにアクセスするような
プログラミングをすることも当てはまりますか?
0069名無しさん
NGNG断定できんが、ここでいう「開発」は、PostgreSQL自体の開発を思う。
特に、assert なんて、AP開発時には要らないはず。
0070名無しさん:69
NGNGPostgreSQL自体の開発を思う。
↓
PostgreSQL自体の開発と思う。
0072名無しさん@お腹いっぱい。
NGNGありがとうございます。
余計なことを気にしていました。そのオプションをつけずにやってみます。
0073名無しさん@お腹いっぱい。
NGNGどちらも新しく勉強することになります。DOSとWindows2000は使ったことがあります。
RDBはMicrosoftSQLServerしか使ったことがありません。
0074名無しさん@お腹いっぱい。
NGNGアンチョコ本で使ってるほう
0075名無しさん@お腹いっぱい。
NGNG回答ありがとうございます。
LinuxとFreeBSDのどっちも買った本には書いてありました。
どっちが有利とかは無いんですね。
0076名無しさん@お腹いっぱい。
NGNG0077直リン
NGNG0078名無しさん@お腹いっぱい。
NGNG厳密には有利不利はあるのですが、
PostgreSQL以外で勉強しないといけない部分が多いなら
大量に入門書のあるRedHatを選択する方がいいかも。
OSも深く勉強する気があって、トラフィックの多いシステムを
構築する必要があるならBSDが有利かな。
あ、一番いいのは、インストールに成功した方を選ぶ。(笑
0079名無しさん@お腹いっぱい。
NGNGちょいと大きなシステムを作ろうとするとすぐにカーネルの再コンパイルが必要。
初心者だったらLinuxにしといたほうが無難。
0080名無しさん@お腹いっぱい。
NGNG0081名無しさん@お腹いっぱい。
NGNGデータベースになってしまうことはある。
0082名無しさん
NGNGってことだと思んだが…。だとしたら、データの量には関係ないよね。
この場合、同時走行トランザクションの数が制約される。
0083直リン
NGNG0084名無しさん@お腹いっぱい。
NGNG結局FreeBSDにしました。理由は
1.聞ける人(遠くなのでメールですが)がFreeBSDを使っている。
2.FreeBSD徹底入門という本があった。
3.FreeBSDのインストールが成功した。
です。とりあえずはこれでPostgreSQLのインストールまでやりたいと思います。
私の探し方が悪いのか、Webで探すとLinuxの情報の方が多いように思いますが、
これでやってみます。
0085名無しさん
NGNGFreeBSDをお使いなら、ports で入れるのが楽ですね。
ただし、PostgreSQLのデフォルトとはインストール先が違うので、
注意が必要ですけど。
0086名無しさん@お腹いっぱい。
NGNG確かにLinuxの情報の方が多いのですが、
PostgreSQLの使い方(構築方法)を学ぶのが目的ならば
Linuxのサイトに書かれている情報の多くは共通して使えます。
FreeBSDと書いてないから調べるのを諦めないで色々試して
みてください。
0087預言者
NGNG0088名無しさん@Emacs
NGNG> FreeBSDはデフォルトのカーネルパラメータが小さすぎるから、
> ちょいと大きなシステムを作ろうとするとすぐにカーネルの再コンパイルが必要。
いったい、いつの話をしてるんだ?
SYSV共有メモリなどのパラメータは、かなり前から
デフォルト値が大きく引き上げられてるし、
そもそもsysctlコマンドや/boot/loader.confで簡単に変更可能だ。
もはや、カーネルパラメータの変更だけのために
カーネル再コンパイルなんてする必要はない。
008973
NGNG皆さんのおかげでPostgreSQLのインストールが出来ました。
OS含めてインストールは20回ほどやり直していますが。
まだ本の通りに入力するだけですが、手順に少しずつ慣れてきているみたいです。
ありがとうございます。
0090名無しさん@お腹いっぱい。
NGNGPostgreSQLは実は pg_dump が肝だと思う。
PostgreSQLのアップグレードで互換が保たれない事もあるからね。
0091名無しさん@お腹いっぱい。
NGNGそうそう、ちょっとしたことだけど、pg_dumpしてリストアする際の注意点。
serial型且つunique属性なカラムがあり、
尚且つdeleteしたりして数字に抜けがあった場合、
リストアした後にselect setval()してシーケンスの値を設定し直さないとうまく動かないよ。
0092名無しさん@お腹いっぱい。
NGNG--default-character-set=utf8のオプションをつけて、mysqld_safeを
起動したところ、mysqlを起動した際に下記のようなワーニングが出てきます。
# mysql
mysql: File '/usr/local/share/mysql/charsets/?.conf' not found (Errcode: 2)
mysql: Character set '#33' is not a compiled character set and is not specified in the '/usr/local/share/mysql/charsets/Index' file
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
この問題を回避する方法はございませんか?
0093名無しさん@お腹いっぱい。
NGNGコンパイルしなおさないと駄目なんじゃない?
0094名無しさん@お腹いっぱい。
NGNGusr/local/share/mysql/charsets/Index はちゃんとしてるんでしょうか?
ここ見て研究して下さい。
ttp://www.mysql.gr.jp/jpdoc/4.0/manual.ja_MySQL_Database_Administration.html#Character_sets
0095名無しさん@お腹いっぱい。
NGNGなどとつぶやいてみるテスト
0096名無しさん@お腹いっぱい。
NGNG--with-extra-charsets=all でも再コンパイルいるんですか?
0098名無しさん@お腹いっぱい。
NGNGどなたかutf8成功した人いませんか?
--with-charset=utf8 \
--with-extra-chasets=all \
#mysql
mysql: File '/usr/local/share/mysql/charsets/?.conf' not found (Errcode: 2)
mysql: Character set '#33' is not a compiled character set and is not specified in the '/usr/local/share/mysql/charsets/Index' file
009998
NGNG| character_set | utf8
| character_sets | big5 latin2_czech_ci
dec8_swedish_ci cp850_general_ci latin1_german1_ci hp8_english_ci
koi8r_general_ci latin1_swedish_ci latin2_general_ci swe7_swedish_ci
ascii_general_ci ujis sjis cp1251_bulgarian_ci latin1_danish_ci hebrew
tis620 euckr latin7_estonian_ci latin2_hungarian_ci koi8u_general_ci
cp1251_ukrainian_ci gb2312 greek cp1250_general_ci latin2_croatian_ci
gbk cp1257_lithuanian_ci latin5_turkish_ci latin1_german2_ci
armscii8_general_ci utf8 cp1250_czech_ci ucs2 cp866_general_ci keybcs2
macce macroman cp852_general_ci latin7_general_ci latin7_general_cs
macce_bin macce_ci macce_cs latin1_bin latin1_general_ci
latin1_general_cs cp1251_bin cp1251_general_ci cp1251_general_cs
macroman_bin macroman_ci macroman_cs cp1256_general_ci cp1257_bin
cp1257_ci_ai cp1257_ci cp1257_cs binary armscii_bin ascii_bin
cp1250_bin cp1256_bin cp866_bin dec8_bin greek_bin hebrew_bin hp8_bin
keybcs2_bin koi8r_bin koi8u_bin latin2_bin latin5_bin latin7_bin
cp850_bin cp852_bin swe7_bin utf8_bin |
| client_collation | utf8
0100名無しさん@お腹いっぱい。
NGNG/usr/local/share/mysql/charsets/Index.xml
どこかで指定出来無い?
0101名無しさん@お腹いっぱい。
NGNG前のインストールしたファイルを片づけてから再コンパイルしてみてはどう?
ところで、こっちはucs2試してるんだけど、mysqld自体が起動に失敗する。
# ./mysql-server.sh start
mysqldlDBSERVER# tail /var/db/mysql/DBSERVER.err
030610 21:24:08 mysqld started
/usr/local/libexec/mysqld: File '/usr/local/share/mysql/charsets/ucs2.xml' not found (Errcode: 2)
/usr/local/libexec/mysqld: Character set 'ucs2' is not a compiled character set and is not specified in the '/usr/local/share/mysql/charsets/Index.xml' file
030610 21:24:08 Aborting
030610 21:24:08 /usr/local/libexec/mysqld: Shutdown Complete
030610 21:24:08 mysqld ended
utf8の時と何が違うのかな?
■ このスレッドは過去ログ倉庫に格納されています