workersSFA、CRM製品を開発するエンジニアのブログこの広告は、90日以上更新していないブログに表示しています。2017-04-15Cassandraでサービスを運用していく中で困ったこと/苦労していることこんにちは。Jildinのハゲタカです。先日Cassandraについて記事を書きました。jildin.hatenablog.com今日はその先のお話。実際にCassandraを使ってサービスを運用していく中で困ったことや苦労していることについて書きたいと思います。Transactionという概念CassandraにはOracleのようにtransactionという概念がありません。ここからここまでの処理が全部終わったらデータベースに処理を反映してね、っていうことができないのです。いままでOracleがよろしくやってくれていたことができなくなってしまいます。なんでこのtransaction管理がないのが致命的にまずいのかちょっと事例を紹介したいと思います。Transactionで困った話Jildinは主にSFAの機能を備えた業務アプリです。夜間バッチが裏で動いたりしています。この時、バッチの処理と人間の処理が同時に入ると、Oracleと違いtransactionでの管理ができないため不整合データができやすいです。バッチに限らず、大量の人間が同時に同じ画面を編集する時も、しっかりと実装側で制御をいれてあげないと簡単に不整合データができてしまいます。夜間バッチでの大量データ処理はBtoBのアプリでは無視することができない課題です。不整合データができないように実装するだけでなく、うまく負荷を分散させて高速で終わらせる工夫なども必要になってくるのが、transaction管理で困ったところでした。ISSUEを追い続けるのが一苦労ご存知Cassandraはオープンソースです。仕様変更なんてざらにあります。今まで我々が重宝していた機能が消えてしまうなんてこともざらにあるのです。早く今後の動向をキャッチするためにもISSUEは欠かさず読むようにしています。僕の日々の通勤時間の9割はJildinで使っているオープンソースのISSUEのチェックに消えています。ちなみに残りの1割はLINEの確認とその日に聞く音楽の選定です。Oracleマンに気をつけて欲しいです。あなたがしっかりと知識をもってコードを書かなければCassandraはよろしくやってくれません。Oracleの時のように毛の生えた程度の知識で適当に設計してしまうと、いざデータが大量になった時に取り返しのつかない死に方をします。オープンソースは日々ものすごい速度で進化を続けます。Oracleさんのように公式に問い合わせできたり、差分資料を毎回しっかりと出してくれたりするわけではないのです。自分から興味を持って、変化についていかないと追いていかれ対応が後手後手になってしまいます。アンテナを高くして、しっかりと設計にもコードにもこだわりと責任をもってCassandraと触れあいましょう。corp.jildin.com血涙流しながらCassandraと格闘してつくられたSFAアプリケーションがJildinです。12:00Cassandraでサービスを運用していく中で困ったこと/苦労していることTweet広告を非表示にする関連記事2017-04-14flux、reduxを一言で説明してみるこんにちは。Jildinのトラです。Javaエンジニアとして働く君たちへどうも。最近まじでハゲてきたんじゃないかと不...2017-04-06NoSQLのCassandraを使うときの注意点こんにちは。Jildinのハゲタカです。ハゲタカといいつつ髪の毛...2017-03-27高級料理を食べよう。Jildinのハゲタカです。pagehttp://corp.jildin.comはてなブログをはじめよう!jildinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。