質問: 例えばRedmineのチケットの親子関係や ↑こんな感じの『階層構造』という概念を取り入れたい場合、 MySQLやPostgreSQLをはじめとしたリレーショナルデータベースで 実装するのはかなり辛いというのは昔から言われていますよね。 一応隣接リストモデル、入れ子集合モデルなどを用いれば実装できないことはないというのは 知っているのですが、やぱりどれも煩雑でバグの温床になりやすい方法になってしまいます。 そこでもう階層構造という部分だけはRDB以外(NoSQL?)を 利用して実装しようと考えているのですが、 この場合選択肢としては具体的にどんなデータベースが出てくるのでしょうか?
回答: お話にはRDBのどこが問題かが読み取れませんでした。入れ子構造の実装はめんどくさくはあるのですが、バグの温床となるかどうかは実装次第です。 なのでRDB以外で解決するような話でもないと思います。NoSQLは使ったことが無いのですが、最近のRDBはスキーマレスの情報も保持できます。どちらかと言うとスキーマレスな情報を保持したのときのレスポンスなどの問題ででNoSQLが利用されることが多いように思われます。 今回の場合はデータ構造がしっかりしているので、スキーマレスにしてしまうとそれこそバグの温床になりそうな気がします。 バグの温床となるのはどのような部分でしょうか、XMLで保持することはできませんか?問題点をもう少し詰めて行ったほうが良いように感じられます。