[SML 8198] Re: Pharoとデータベース

Masashi Umezawa ume @ softumeya.com
2018年 8月 2日 (木) 23:01:32 JST


梅澤です。

PharoからRDBにアクセスするにはGlorpやKobatiといったORマッパーを使うことになります。

「Pharo5 (Smalltalk) + Glorp (ORM) + SQLite3 のチュートリアルでひっかかったところ等のメモ」
https://qiita.com/sumim/items/19cc812821159b205581

「SQLマッピングフレームワーク「Kobati」のはなし」
https://www.slideshare.net/kazukiminamitani/sqlkobati

RDBの良さは、広く使われており、Pharo以外の他のツールで読み書きが可能というところだと思います。
データの可搬性を考慮するならば良い選択肢と思います。

ただしオブジェクトの世界とRDBの世界はかなり違うものなので、Pharoからは使いにくい部分も多々あります。

オブジェクトをそのまま格納したいということであれば、大がかりにはなりますが、GemStone/SなどのOODBを
使う手もあります。
https://gemtalksystems.com/products/gs64/

もう少し気軽にということであればNeo4jなどのGraph DBもおすすめです。こちらはオブジェクトの
ネットワーク構造をそのままDBに落とし込めるので、RDBよりはSmalltalkとの親和性が高いと思います。

「Neo4reStの紹介」(第39回Smalltalk勉強会(兼忘年会))
https://drive.google.com/file/d/0B-QQfEn6pNsXcm03OWJ3clJYUE0/view
https://atnd.org/events/23037

「Manipulating Neo4j from Pharo Smalltalk」(第103回Smalltalk勉強会)
https://github.com/quentinplessis/smalltalk-neo4j
https://smalltalk.connpass.com/event/64380/

データ量がそれほどでもなく、複数のツールから同時に使うことがないという場合は、単にPharoのオブジェクトを
ファイルに保存してしまうという手もあるかと思います。Fuelを使うと、任意の複雑な構造のオブジェクトを
ファイルに保存することができます。
https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/Fuel/Fuel.html

以上、ご参考まで。

2018年7月31日 19:29 五十嵐雅哉 <nez.squeak @ icloud.com>:
> 初心者質問です。
>
> リレーショナル・データベース(RB)とPharoのコラボを考えていますが、RBでできことはPharoでは容易なような気もします。
> 想定しているRBが大規模なものではないのですが、Collection系で間に合いそうな気もします。RBも基本、何らかの言語で開発されているとも思うのですが、Pharoでできればそれでいいのでしょうか?
>
> 五十嵐 雅哉
> 吉備高原医療リハビリテーションセンター 内科
> 〒716-1241 岡山県加賀郡吉備中央町吉川7511
> telephone ‭0866-56-7141
> cellphone 080-3296-1961
> mail nez.squeak @ icloud.com
>
>

-- 
"SoftUmeYa, LLC"
[:masashi | ^umezawa]


SML メーリングリストの案内