タグ付けされた質問 「sqlite」

3
Web SQLデータベースが非推奨になったのはなぜですか?
ハイブリッドAndroidアプリを作成しています。 最初にlocalStorageを使用することに決めました。2日間を費やした後、非常に奇妙であることに気づいたため、削除しました。 次に、indexedDBを選択しました。今日の1日を費やして実際にGoogle Chromeで出力を取得した後、AndroidアプリのWebView内で実行されていません。 また、Web SQLデータベースは廃止されたため、まったく使用しませんでした。とにかく、PhoneGapはまだWeb SQLを使用しており、Androidのブラウザーがそれをサポートしていることに気づきました。 そもそもWeb SQLが廃止されたのはなぜですか?また、今すぐWeb SQLを使用することをお勧めしますか?

2
SQLiteデータベースで同時書き込みが許可されないのはなぜですか?
SQLiteでJavaを使用してデータベースプログラミングを行っています。 データベースへの一度に1つの接続のみが書き込み機能を持ち、多くの接続が一度に読み取り機能を持つことがわかりました。 SQLiteのアーキテクチャがなぜこのように設計されたのですか?書き込まれている2つのものがデータベース内の同じ場所に書き込まれていない限り、なぜ2つの書き込みが一度にできないのですか?

1
SQLiteデータベースの現実的で現実的な最大サイズとは何ですか?
SQLiteの適切な使用に関するこの記事によると、SQLiteは140テラバイトに制限されていますが、クライアント/サーバーRDBMSはより適切に動作する可能性があります。 SQLiteデータベースのサイズは、140テラバイト(2 47バイト、128ティビバイト)に制限されています。また、より大きなデータベースを処理できたとしても、SQLiteはデータベース全体を単一のディスクファイルに保存し、多くのファイルシステムはファイルの最大サイズをこれよりも小さいものに制限します。したがって、この規模のデータベースを検討している場合は、コンテンツを複数のディスクファイル、おそらく複数のボリュームに分散するクライアント/サーバーデータベースエンジンの使用を検討することをお勧めします。 一般的に、私はこれに同意しますが、SQLiteの最大制限が非常に高いことを知って驚いたのです!私の経験では、30〜100GBのサイズのSQL Serverデータベースをかなり使用しました。また、Oracle、Postgres、またはCassandraを使用して、はるかに大きなデータベースを間接的に操作しました。そのうち、少なくとも私の知る限り、140TBに近づいている人はいませんでした。私はDBAではないので、これは私の直接的な経験から「大」と考えるものです。 データベースが小さい場合にのみ、SQLiteを検討しました。最大で数十メガバイト。 この記事を読んだ後でも、数百ギガバイトを必要とするかもしれないもののためにSQLiteを検討することをまだ確信していません。しかし、その能力を過小評価していたのではないかと思っています。実際の使用でのSQLiteデータベースの現実的な最大サイズ制限とは何ですか?

2
内部使用Webサイト:SQLiteに対して説得力のある事例はありますか?
FlaskやDjangoなどの多くのWebフレームワークは、デフォルトのデータベースとしてSQLiteを使用します。 SQLiteはPythonに含まれており、管理オーバーヘッドが非常に低いため、魅力的です。 ただし、トラフィックの多い公共の本番サイトのほとんどは、mySQL、Oracle、またはpostgresqlなどのより重いデータベースを使用しています。 質問: 仮定: サイトのトラフィックは中程度であり、データベースへの同時読み取り/書き込みアクセスが発生します SQLite書き込みロックでSQLAlchemyを使用します(ただし、このコメントは少し緊張しますが) データベースにはおそらく60,000レコードが含まれます データ構造は、より重いデータベースにある高度な機能を必要としません 中程度のトラフィックの社内企業ツールとして機能するWebサイトで、SQLiteの同時実行に対して説得力のある事例はありますか?もしそうなら、どのような条件がSQLiteに並行性の問題を引き起こしますか? 一般的な恐怖/根拠のない指差しではなく、既知の特定の根本原因を探しています。

2
2つのPythonプロセスがアクセスするSQLite:1つの読み取り、1つの書き込み
私は2つのコンポーネントを持つ小さなシステムを開発しています。1つはインターネットリソースからデータをポーリングし、それをsqlデータに変換してローカルに保持します。2番目のものは、ローカルインスタンスからそのsqlデータを読み取り、jsonおよびrestful apiを介して提供します。 私はもともとpostgresqlでデータを永続化することを計画していましたが、アプリケーションには保存するデータとサービスするトラフィックの量が非常に少ないため、やり過ぎだと思いました。SQLiteは仕事をしているのですか?フットプリントが小さく、この1つのタスクのために別のSQLサーバーを維持する必要がないというアイデアが大好きですが、同時実行性が心配です。 先読みロギングを有効にすると、データベースからプロセスをロックアウトせずに、SQLiteデータベースの読み取りと書き込みを同時に行うことができるようです。 1つの読み取りと他の書き込みのみが行われる場合、単一のSQLiteインスタンスは、それにアクセスする2つの並行プロセスを維持できますか?私はコードを書き始めましたが、これがSQLiteの誤用かどうか疑問に思っていました。

1
Core Data sqliteテーブルの列が「Z」で始まるのはなぜですか?
Core Dataが生成するsqliteテーブルを見ていて、すべてのテーブル列が「Z」で始まることに気付きました。これは実装の詳細であることに気づきましたが、なぜそうなるのか、そしてこれに関係する設計上の決定があるのか​​どうかについて知りました。誰かが偶然知っているか、なぜだと思いますか? Core Data sqliteデータベースのサンプルスキーマ出力を次に示します。 sqlite> .schema CREATE TABLE ZPOST(Z_PK INTEGER PRIMARY KEY、Z_ENT INTEGER、Z_OPT INTEGER、ZPOSTID INTEGER、ZUSER INTEGER、ZCREATEDAT TIMESTAMP、ZTEXT VARCHAR); CREATE TABLE ZUSER(Z_PK INTEGER PRIMARY KEY、Z_ENT INTEGER、Z_OPT INTEGER、ZUSERID INTEGER、ZAVATARIMAGEURLSTRING VARCHAR、ZUSERNAME VARCHAR); CREATE TABLE Z_METADATA(Z_VERSION INTEGER PRIMARY KEY、Z_UUID VARCHAR(255)、Z_PLIST BLOB); CREATE TABLE Z_PRIMARYKEY(Z_ENT INTEGER PRIMARY KEY、Z_NAME VARCHAR、Z_SUPER INTEGER、Z_MAX INTEGER);
10 ios  sqlite 

1
SQLiteは、数値列への非数値の挿入を受け入れなければ、あまり役に立たないでしょうか?
SQLiteでは、次のステートメントが成功し、文字列がSALARYタイプの列に挿入/更新されますINTEGER。 update employee set salary='TOO MUCH' where emp_id=1; ゼロは挿入/更新されませんが、実際の"TOO MUCH"文字列なので、これは自動型変換に関するものではないことに注意してください。 FAQは述べています: これは機能であり、バグではありません。SQLiteは動的型付けを使用します。データ型の制約は適用されません。任意のタイプのデータを(通常は)任意の列に挿入できます。任意の長さの文字列を整数列に入れたり、浮動小数点数をブール列に入れたり、日付を文字列に入れたりできます。CREATE TABLEコマンドで列に割り当てるデータ型は、その列に入れることができるデータを制限しません。すべての列は、任意の長さの文字列を保持できます。(例外が1つあります。INTEGERPRIMARY KEYタイプの列は64ビットの符号付き整数しか保持できません。整数以外のものをINTEGER PRIMARY KEY列に挿入しようとすると、エラーが発生します。) したがって、この動作は明らかに意図的なものですが、 SQLiteがこの動作をするのはなぜでしょうか。私が知っている他のほとんどのSQLデータベースはまったく異なる動作をするため、非数値文字列を挿入しようとすると、エラーが発生するか、文字列0に変換されます。数値列。 SQLiteライブラリは、この振る舞いなしではあまり役に立ちませんか? これは、ライブラリを小さく高速に保つために設計されたものですか? 文字列を数値列に挿入しようとするとエラーが発生するために、SQLiteライブラリは大幅に遅くなったり大きくなったりしますか?
10 design  sqlite 

1
SQLiteデータベースファイルはどこに保存しますか?
現在は効果のないデザインの、1つの言語(現時点では英語)の外国語を学習するためのアプリケーションを作成しています。 単語の保存にはJavaとSQLite-jdbcを使用しています。起動後、アプリケーションはコンマ区切りのワードリストをダウンロードし、各値のペアをデータベースに挿入します。余分なgithubリポジトリでワードリストをホストしました。これは、データベースファイルを開発gitリポジトリ内に保存するべきではないと考えていたためです。そのバイナリなので、データベースでsthを実行するたびに、データベースファイルのハッシュが変化します。読みにくいコミットメッセージを作成する必要があり、データベースに対する実際の変更を理解するのが難しいため、私はそれが好きではありません。 したがって、私の実際の質問: gitリポジトリ内に保存するよりもDBファイルを保存するよりエレガントなソリューションはありますか?現在のデータベースファイルを別のファイルホストに保存するだけですか?そのような状況のベストプラクティスは何ですか?
8 design  sqlite 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.