2011-07-14 9 views
1

既存のScalaデータベースAPIは、SqlSoup for Python(SqlAlchemyの一部)に最もよく似ていますか?私がSqlSoupで見るもの:スキーマとすべての型を指定する必要がない便利で大部分が移植可能なデータベースAPIですが、リフレクションによって推論されますが、生のSQL式を書く必要はありません。また、他のすべてのもの(スキーマの仕様、ORMなど)をサポートするより完全なデータベースパッケージの一部であり、同じクエリ抽象化の多くを共有することが望ましい。私は、Scala 2.9のDynamicタイプがここに便利かもしれないと思います。前もって感謝します。Scala用のSqlSoupに似ているものは何ですか?

答えて

0

最もよく似たものは、JythonをサポートするSQLAlchemy 0.6 http://www.sqlalchemy.org/news.htmlです。つまり、SQLAlchemyをJVM上で使用し、JavaまたはScalaから呼び出すことができます。詳細はこちらをご確認くださいhttp://www.rexx.com/~dkuhlman/jython_course_03.html#calling-jython-from-java

おそらくJythonにいくつかのインターフェイスコードを記述する必要があります。

SQLAlchemyの非効率性は、SQLとオブジェクト指向の思考の間のインピーダンスの不一致に起因します。非オブジェクト指向言語を選択したので、おそらく、SQLAlchemyクローンから離れてスレッドプールで作業して、SQLデータベースへの非ブロッキングアクセスを可能にする時が来ました。アクタは、問題を小さな単純なタスクの多くに分解し、SQLSoupが重すぎるように見えるときには本当にうまく機能します。

多分SQLデータベースの前にあるmemcacheのメリットがあるかもしれません。必要なフォームでデータを取得するには、7段階でSQLリクエストを処理する必要があるとします。すべての中間結果をmemcacheに保存すると、SQLデータベースにヒットした回数を減らすことができます。俳優は、俳優を置き換えたり、俳優の代わりに2つを挿入したりすることができる緩やかなカップルの設計に役立ちます。

+0

実際にはパフォーマンス上の理由から、Python + SQLAlchemyから離れました.SQLAlchemyの大事な部分をハッキングしすぎてしまっていました。私は、APIがコンパイルされた言語(例えば、Scala、Java)であることを明示的に述べるべきだったと思います。 – Yang

関連する問題