質問編集履歴
1
誤字・脱字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,11 +6,17 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
+
このとき、テキストデータはデータベースに挿入すればいいが、
|
10
|
+
|
11
|
+
それと関係する画像はblob型で同じデータベースのレコードに挿入するべきか、それとも、
|
12
|
+
|
9
|
-
|
13
|
+
データベースにpath付きカラムを追加して、画像などの外部ファイルはストレージに別途保存するべきか、
|
10
14
|
|
11
15
|
という2つのパターンがある。
|
12
16
|
|
13
|
-
これは
|
17
|
+
そして、これは外部ファイルとデータベースのレコードの内容がトランザクション的に処理されるかどうか悩ましい問題であり、
|
18
|
+
|
19
|
+
同時に、テキスト以外のデータをクローリングするときの共通問題である。
|
14
20
|
|
15
21
|
|
16
22
|
|
@@ -34,7 +40,7 @@
|
|
34
40
|
|
35
41
|
一方、外部ファイルをデータベースに挿入しない方法としては、
|
36
42
|
|
37
|
-
プログラム側でトランザクション的なファイル操作を
|
43
|
+
プログラム側でトランザクション的なファイル操作を実装する方法で、
|
38
44
|
|
39
45
|
|
40
46
|
|
@@ -74,15 +80,19 @@
|
|
74
80
|
|
75
81
|
|
76
82
|
|
77
|
-
そして、そもそも、データベースにおけるトランザクションとはどのように実装
|
83
|
+
そして、そもそも、データベースにおけるトランザクションとはどのように実装されているのかを調べると、(wal機能)「write ahead log」という機能により、万一、停電などにより異常終了しても、ログに書き出されたら、次回は必ずクエリが実行されて更新処理が正常に行われるようです。
|
78
84
|
|
79
85
|
これをプログラミング上で実装する必要があります。
|
80
86
|
|
81
87
|
|
82
88
|
|
83
|
-
要するに、データベースに画像を挿入しないなら、wal機能を自力で実装すればいい話ですが、そう簡単ではない事は明白であり(それは既存のDBソフトを開発する事になるから)、そのような事をファイル操作で実現する方法やツールを
|
89
|
+
要するに、データベースに画像を挿入しないなら、wal機能を自力で実装すればいい話ですが、そう簡単ではない事は明白であり(それは既存のDBソフトを開発する事になるから)、そのような事をファイル操作で実現する方法やツールを知っていましたら、
|
84
90
|
|
85
91
|
教えてください。
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
逆に、データベースに画像を挿入する方法を選ぶ場合、どれくらいの画像データや1テーブルあたりのレコード数、並びにアクセス頻度なら、実用的で重い処理にならないと判断できますでしょうか?
|
86
96
|
|
87
97
|
|
88
98
|
|
@@ -96,54 +106,8 @@
|
|
96
106
|
|
97
107
|
|
98
108
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
ここに質問の内容を詳しく書いてください。
|
106
|
-
|
107
|
-
(例)PHP(CakePHP)で●●なシステムを作っています。
|
108
|
-
|
109
|
-
■■な機能を実装中に以下のエラーメッセージが発生しました。
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
### 発生している問題・エラーメッセージ
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
```
|
118
|
-
|
119
|
-
エラーメッセージ
|
120
|
-
|
121
|
-
```
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
### 該当のソースコード
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
```ここに言語名を入力
|
130
|
-
|
131
|
-
ソースコード
|
132
|
-
|
133
|
-
```
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
### 試したこと
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
ここに問題に対して試したことを記載してください。
|
142
|
-
|
143
|
-
|
144
|
-
|
145
109
|
### 補足情報(FW/ツールのバージョンなど)
|
146
110
|
|
147
111
|
|
148
112
|
|
149
|
-
|
113
|
+
python3
|