ページへ戻る
印刷
Python/データベースの選択
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/データベースの選択 をテンプレートにして作成
開始行:
*始めに
Pythonで開発していて、大量のデータをあつかうようになると...
Webシステムなどではもやはデータベースは必須ですが、個人で...
Pythonはかなりいろいろなデータベースが使え、ほとんどのメ...
なかでも、個人や小規模開発で使う場合は以下のSQLiteと、MyS...
そんなときに、どれを選択するかの基準となるように、簡単に...
*なぜデータベースを使うのか
たまに「データの保存ならファイルでも良いのではないか」と...
**1データ1ファイルの問題点
誰でも最初に思いつくデータ管理法として、1データを1ファイ...
実例として以下のようなことがありました。
以前、仕事で通信系のプログラムのテスト用に1通信を1ファ...
かなり頻繁に通信を行うプログラムで、そのファイルが数十〜...
テスト用の使い捨てのプログラムだったため、いくつかのフォ...
このようなとき、データベースを使っていれば、運用はとても...
経験的には、ファイル数が1000を越えたら、データベースを使...
特殊なフォーマットでデータベースが使えないときは独自フォ...
**データへの同時アクセスの問題
他に、データベースの中でもサーバーを使うタイプの場合は、...
データの同時アクセスというのはプログラムを行う上ではかな...
例えば、Aというプログラムが「a」「b」「c」と書き込みBとい...
しかし、もしAが「a」と書いたときにBが 「d」と書いてしまう...
1データ程度がおかしくなるならまだそれほど問題がないかも知...
CENTER:&ref(pythonDB.jpg,mw:480,mh:360);
このため、Aが書き込みを行っている間はBが書き込めないよう...
このあたりは、昔、今ほどレンタルサーバーがデータベースを...
サーバーを使うタイプのデーターベースの場合、このファイル...
また、前述のcgiの問題も現在では多くのレンタルサーバーでデ...
CENTER:&ref(pythonDB2.jpg,mw:480,mh:360);
**多くのデータを扱うとき、データへの同時アクセスがあると...
以上のような理由から、多くのデータを扱うなら、ファイルよ...
また、同時にデータにアクセスするなら、サーバーを立ち上げ...
*各データベースの特長
ここではよく使われるSQLite、MySQL、MongoDBなどのデータベ...
**データベースの種類
データベースソフトには大まかにはサーバーを使う物と使わな...
|名前|サーバー|タイプ|
|SQLite|なし|リレーショナル型|
|MySQL|あり|リレーショナル型|
|MongoDB|あり|NoSQL|
サーバーがあるものは、データの同時アクセスを制御する機能...
リレーショナル型は集計や表の結合などが得意ですが、データ...
NoSQLは集計や表の結合などはできませんが、後からデータ構造...
ちなみにNoSQLという名前ですが、SQLを使わないという意味あ...
**SQLite
&ref(sqlite370_banner.gif,mw:480,mh:360);
公式サイト[[http://www.sqlite.org/]]
機能は少なめで軽量かつ高速で動作し、小さなデータを扱った...
他のデータベースのようにサーバープログラムを必要とせず、...
そのかわり型などは少なく、複雑な処理をデータベース上で行...
また同時に複数のプロセスで利用もできないので、Webサーバー...
スタンドアロンのアプリなどの開発などに向いているデータベ...
SQLiteをPythonを使う例は[[Python/SQLiteから使う基礎]]を参...
**MySQL
&ref(powered-by-mysql-167x86.png,mw:480,mh:360);
公式サイト[[https://www-jp.mysql.com/]]
Webサーバーなどでも良く利用されている実績のあるデータベー...
インストールや設定にはある程度技術が必要で、慣れていない...
Webサーバーでの利用、特にデータベース上で集計や表の結合な...
MySQLをPythonで使う例は[[Python/MySQLから使う基礎]]を参照...
**MongoDB
&ref(mongo.png,mw:480,mh:360);
公式サイト[[https://www.mongodb.com/]]
最近よく使われるようになった「NoSQL」と呼ばれる物の中で、...
表の結合、集計と行った処理はあまり得意ではありませんが、...
データーの規模が大きく、集計などを行わない場合におすすめ...
*まとめ
大量のデータを扱うならなるべくデータベースを使うようにし...
Pythonでとりあえず練習用に使うならSQLiteがおすすめです。
また設定などを読み込むのに、データが多くてファイルでは管...
ただし、複数プロセスで同時にアクセスするならMySQLやMongoD...
この二つを比較するなら、MySQLの方が資料は多めでSQLiteとも...
終了行:
*始めに
Pythonで開発していて、大量のデータをあつかうようになると...
Webシステムなどではもやはデータベースは必須ですが、個人で...
Pythonはかなりいろいろなデータベースが使え、ほとんどのメ...
なかでも、個人や小規模開発で使う場合は以下のSQLiteと、MyS...
そんなときに、どれを選択するかの基準となるように、簡単に...
*なぜデータベースを使うのか
たまに「データの保存ならファイルでも良いのではないか」と...
**1データ1ファイルの問題点
誰でも最初に思いつくデータ管理法として、1データを1ファイ...
実例として以下のようなことがありました。
以前、仕事で通信系のプログラムのテスト用に1通信を1ファ...
かなり頻繁に通信を行うプログラムで、そのファイルが数十〜...
テスト用の使い捨てのプログラムだったため、いくつかのフォ...
このようなとき、データベースを使っていれば、運用はとても...
経験的には、ファイル数が1000を越えたら、データベースを使...
特殊なフォーマットでデータベースが使えないときは独自フォ...
**データへの同時アクセスの問題
他に、データベースの中でもサーバーを使うタイプの場合は、...
データの同時アクセスというのはプログラムを行う上ではかな...
例えば、Aというプログラムが「a」「b」「c」と書き込みBとい...
しかし、もしAが「a」と書いたときにBが 「d」と書いてしまう...
1データ程度がおかしくなるならまだそれほど問題がないかも知...
CENTER:&ref(pythonDB.jpg,mw:480,mh:360);
このため、Aが書き込みを行っている間はBが書き込めないよう...
このあたりは、昔、今ほどレンタルサーバーがデータベースを...
サーバーを使うタイプのデーターベースの場合、このファイル...
また、前述のcgiの問題も現在では多くのレンタルサーバーでデ...
CENTER:&ref(pythonDB2.jpg,mw:480,mh:360);
**多くのデータを扱うとき、データへの同時アクセスがあると...
以上のような理由から、多くのデータを扱うなら、ファイルよ...
また、同時にデータにアクセスするなら、サーバーを立ち上げ...
*各データベースの特長
ここではよく使われるSQLite、MySQL、MongoDBなどのデータベ...
**データベースの種類
データベースソフトには大まかにはサーバーを使う物と使わな...
|名前|サーバー|タイプ|
|SQLite|なし|リレーショナル型|
|MySQL|あり|リレーショナル型|
|MongoDB|あり|NoSQL|
サーバーがあるものは、データの同時アクセスを制御する機能...
リレーショナル型は集計や表の結合などが得意ですが、データ...
NoSQLは集計や表の結合などはできませんが、後からデータ構造...
ちなみにNoSQLという名前ですが、SQLを使わないという意味あ...
**SQLite
&ref(sqlite370_banner.gif,mw:480,mh:360);
公式サイト[[http://www.sqlite.org/]]
機能は少なめで軽量かつ高速で動作し、小さなデータを扱った...
他のデータベースのようにサーバープログラムを必要とせず、...
そのかわり型などは少なく、複雑な処理をデータベース上で行...
また同時に複数のプロセスで利用もできないので、Webサーバー...
スタンドアロンのアプリなどの開発などに向いているデータベ...
SQLiteをPythonを使う例は[[Python/SQLiteから使う基礎]]を参...
**MySQL
&ref(powered-by-mysql-167x86.png,mw:480,mh:360);
公式サイト[[https://www-jp.mysql.com/]]
Webサーバーなどでも良く利用されている実績のあるデータベー...
インストールや設定にはある程度技術が必要で、慣れていない...
Webサーバーでの利用、特にデータベース上で集計や表の結合な...
MySQLをPythonで使う例は[[Python/MySQLから使う基礎]]を参照...
**MongoDB
&ref(mongo.png,mw:480,mh:360);
公式サイト[[https://www.mongodb.com/]]
最近よく使われるようになった「NoSQL」と呼ばれる物の中で、...
表の結合、集計と行った処理はあまり得意ではありませんが、...
データーの規模が大きく、集計などを行わない場合におすすめ...
*まとめ
大量のデータを扱うならなるべくデータベースを使うようにし...
Pythonでとりあえず練習用に使うならSQLiteがおすすめです。
また設定などを読み込むのに、データが多くてファイルでは管...
ただし、複数プロセスで同時にアクセスするならMySQLやMongoD...
この二つを比較するなら、MySQLの方が資料は多めでSQLiteとも...
ページ名: