2016-08-10 9 views
3

Rubyのsqlite3 gemを使って、Herokuのプロダクションアプリでsqliteを使いたいと思っています。しかし、herokuは宝石を検出し、私たちの配備をブロックします。sqlite on Heroku(生産中、メモリ内)

私たちはherokuのファイルシステムが一時的だと認識していますが、私たちはバックグラウンドワーカーの短命のデータベースに対してメモリモードでSQLLiteを使用しています。 Herokuは人々が永続的なデータベースとしてそれを使用しようとし、データが消えたときに驚くことがあるので、宝石をブロックします(下記のリンクを参照)。私は彼らの懸念に感謝することができますが、正当なユースケースがあり、まだブロックされています。

sqliteの正当なユースケースがある場合は、nanny-check heroku追加の回避策はありますか?

編集:代替ツール候補はありません。すでにテラバイトのデータを持つ「実際の」データベースがあります。私たちは正当な最適化としてローカルの一時DBにデータをロードしています。 sqlite liteは、他の言語バインディングを使用してHerokuでうまく動作します。私はちょうどRuboku + sqliteを使うためにHerokuのnanny-checkについての方法を探しています。

https://devcenter.heroku.com/articles/sqlite3

答えて

0

残念ながら、Herokuのは、そのアーキテクチャベースでのSQLiteをサポートしていません。 PostgreSQLに移行する必要があります。しかし、Dokkur - Herokuの類似体は、移行しないで解決策を知っています。

+0

メモリ内テーブルが必要です。私はpostgresが大好きで、 "実際の"データベースに使用しますが、このユースケースでは、実際には短いローカルのsqliteテーブルが必要です。 – delrox

0

ここにはたくさんのオプションはありません。 HerokuはSQLiteの使用を許可していません。

PGテーブルは、引き続き一般的な短命データベースとして使用できます。また、シンプルなストレージが必要なだけで高度なクエリメカニズムが必要ない場合は、Redisを使用できます。

どちらもHerokuから入手できます。

+0

攻撃的な番号のクランチを行うには、ローカルのメモリ内オプションが必要です。遠隔データベースを追加することは、過剰なものであり、十分に速くはなく、本当に間違ったツールです。しかし、ありがとう。 – delrox

+0

私は、SQLiteがRedisより高速であることを完全には確信していません。 –

+0

@simonieはより速く探していません。 sqliteは、redisに比べて非常に異なるツールです。サーバレスで、処理中であり、SQL、一時テーブル、およびディスクへのページングをサポートしています。 – delrox

関連する問題