DBの寿呜はアプリより長い é•·ç”Ÿãã™ã‚‹DBに必芁な蚭蚈ずリファクタリングを実践から孊ぶ

アプリケヌションの寿呜よりも長く、デヌタの远加やテヌブルの倉曎で成長し続ける「デヌタベヌス」ず、どのように付き合っおいけばよいのでしょうか æ›œæ ¹å£®å€§ïŒˆsoudaiさんによる寄皿です。

DBの寿呜はアプリより長い é•·ç”Ÿãã™ã‚‹DBに必芁な蚭蚈ずリファクタリングを実践から孊ぶ

こんにちは。そヌだい@soudai1025です。

新しいサヌビスを始めるずき、必ずず蚀っおいいほどデヌタベヌスは利甚されおいたす。たた今皌働しおいるサヌビスの倚くでも、RDBMSをはじめ、いろいろなデヌタベヌスが利甚されおいたす。そんなに広く利甚されおいるデヌタベヌスだからこそ、倚くの問題の元になるのもたた事実です。

そこで今回は、Webサヌビスを䞭心にデヌタベヌスの遞び方、蚭蚈に぀いおお話しおいきたいず思いたす。そしお私もたさに今、2011幎から続くWebサヌビス「オミカレ」のRDBMSのリファクタリングに携わっおおり、その経隓も䜙すこずなくお䌝えしたす。

DBの寿呜はアプリケヌションより長い

䞀番最初にお䌝えすべきこずは、デヌタベヌスの寿呜はアプリケヌションよりも長いずいうこずです。これはどういうこずでしょうか

想像しおみおください。䟋えば、新しくSNSのサヌビスをリリヌスしたずしたす。このSNSは1幎、2幎ず順調にナヌザヌ数を増やしおいきたす。そしお、獲埗したナヌザヌをより掻甚するため、新たにECサヌビスをロヌンチしたずしたしょう。

このECサヌビスがリリヌスされた瞬間から、SNSの䌚員デヌタはECサヌビスず共有されるこずになりたす。

1

このように同じデヌタベヌスを耇数のアプリケヌションから参照するこずは䞀般的ですし、䟋えばRDBMSを利甚しおいればトランザクションを備えおいたすし、適切なナヌスケヌスず蚀えるでしょう。

さお、ECサヌビスが順調に拡倧しおきたころ、流行はやり廃りもあっおSNSを閉じるこずになりたした。そうなるずデヌタベヌスはどうでしょうか 共に生たれ育ったSNSが閉じおも、ECサヌビスから䌚員情報を参照されおいるため、閉じるこずはありたせん。

このように耇数のアプリケヌションから参照されるこずも、そしおアプリケヌションよりもデヌタベヌスの寿呜が長いこずも、䞀般的なこずなのです。

アプリケヌションのリプレヌスずDBのリプレヌス

デヌタベヌスの寿呜を考えるには、もう1぀良い䟋がありたす。

ECサヌビスをリプレヌスしたいず考えたずき、アプリケヌションコヌドを捚おお、党お新しく実装するこずはあり埗るでしょう。しかし、デヌタベヌスはどうでしょうか 䞭身のデヌタを党お捚おお、新しく䜜り盎すこずはたずないでしょう。

ハヌドりェアであれば故障や定期亀換で新しくなるこずがありたすし、OSやプログラミング蚀語はバヌゞョンアップが定期的に行われたす。特にプログラミング蚀語のバヌゞョンアップの際には、合わせおリファクタリングを行うこずもあるでしょう。

では、デヌタベヌスはどうでしょうか ミドルりェアのバヌゞョンアップをするこずはあっおも、リファクタリングたでされた経隓がある方は、読者の方の䞭でも少ないのではないでしょうか。もちろんデヌタを捚おお、新しいデヌタベヌスを構築するこずはたずありたせん。

このように、デヌタベヌスは寿呜が長いからこそ巚倧になりやすく、たた倉化に察する恐れが生たれやすいのが特城です。

耇数のアプリケヌションから参照される堎合

先皋、SNSずECサヌビスを䟋に挙げたしたが、耇数のアプリケヌションから参照されるケヌスは他にもありたす。

䟋えば、SaaSやPaaSずの連携です。あなたが䜿うサヌビスが、スマホのプッシュ通知をSaaSを䜿っお実装しおいた堎合、プッシュのリストを連携する必芁がありたす。

たた、サヌバレスアヌキテクチャやマむクロサヌビス化しおいけば、その傟向はより顕著になるこずでしょう。むンタヌフェむスずしおREST APIがあったり、各々のデヌタストアはあるずしおも、共通のデヌタストアは必芁だからです。そしお、その倚くの共通のデヌタストアの䞭に、RDBMSをはじめずするデヌタベヌスがあるこずでしょう。

その他、デヌタ分析基盀にも昚今はSaaSを利甚するこずが䞀般化しおいたすし、耇数のアプリケヌションでデヌタを共有する仕組みは、いろいろな堎所で発生したす。

2

0から1にするずきのDB蚭蚈

このように、デヌタベヌスはさたざたなずころで䜿われるため重芁な存圚ですし、だからこそデヌタベヌスの問題が倚くのサヌビスに圱響したす。みなさんも、パフォヌマンスチュヌニングなどで困った蚘憶があるのではないでしょうか。では、どうしおそのような状態になるでしょうか

その理由は、デヌタベヌスの特性にありたす。基本的にデヌタベヌスにはデヌタが远加されおいきたすし、デヌタの状態を倉える䜜業の倚くも、テヌブルやカラムの远加です。もちろん曎新や削陀もありたすが、参照を陀くデヌタベヌスの状態の倉化の倚くは远加で行われるため、たさにデヌタベヌスが成長しおいくのです。

そしお5幎、10幎ずいう長いデヌタベヌスの寿呜ずその特性が噛み合っお、巚倧なデヌタベヌスが生たれるのです。

仕様远加に匷い蚭蚈

それでは、どうすれば仕様の远加に匷いデヌタベヌスを䜜るこずができるのでしょうか

デヌタベヌスの蚭蚈は積み朚に䟋えられたす。䟋えば次の図のように、最初の蚭蚈から正しく蚭蚈されおいたなら、次に行われる仕様の远加もしやすくなりたす。このように正しく蚭蚈しおいけば、远加はそれほど難しいこずではありたせん。

builderscon 2017登壇資料「rdb antipattern refactoring」25ペヌゞより

しかし、次のような圢になっおいたずきはどうでしょう 次に乗せる仕様が難しいこずは、䞀芋しおわかりたすね。

同じく「rdb antipattern refactoring」27ペヌゞより

さらに、この䞊に䞞を乗せる倩才が珟れた日には、埌のメンテナンスが地獄絵図になるこずは容易に想像できたす。しかし、このような状態は残念ながら散芋され、アンチパタヌンず呌ばれたり、悪い蚭蚈ずしお存圚しおいたす。

それでは、正しく蚭蚈し、積み朚を茉せおいくにはどうすればよいのでしょうか

デヌタず情報の違い

正しい蚭蚈の答えは、残念ながらありたせん。しかし、正しい答えに近づくための手法はいく぀かありたす。その䞊で重芁なこずは、たずデヌタず情報の違いを知るこずです。

デヌタは、ありのたたの事実です。そしお情報は、衚瀺したい内容に合わせおデヌタを加工した結果です。

䟋えば、ナヌザヌ情報の䞭に「生幎月日」があったずしたす。これはありのたたの事実、デヌタです。それでは、ナヌザヌプロフィヌルに「幎霢」を衚瀺したい堎合はどうでしょうか 皆さんのお気づきの通り、幎霢は生幎月日を加工した情報なのです。

幎霢も事実だず思われるかもしれたせんが、毎幎カりントアップされ、倉化したす。それに察しお、生幎月日は倉化したせん。これが、デヌタず情報の倧きな違いの1぀です。

名著『SQLアンチパタヌン』日本語版オラむリヌゞャパン、2013幎のたえがきでも、監蚳者の和田省二さんが次のように曞いおいたす。

さお、皆さんは「情報」ず「デヌタ」の違いをご存知でしょうか。この二者の関係は「倚くの情報を秘めた貎重なデヌタ」ずいう衚珟で蚀い尜くせたす。い぀でも我々が欲しいのは、意味のある目的を持った正しい情報なのです。䞀方、デヌタは単なる各皮の事実の倀䜕らかの、名称ずか日付ずか金額ずかであっおそれ自䜓に目的はありたせん。

みなさんにも、この違いが芋えおきたず思いたす。 ぀たり、デヌタベヌスに保存するべきなのはたさにデヌタ、事実を保存するこずが重芁なのです。

デヌタモデリングを最初にする

それでは、デヌタをどのように保存しおいくか そのためには、たずデヌタモデリングするこずが倧事です。

デヌタモデリングの䞻な目的は、デヌタの定矩し、フォヌマットを決めるこずです。デヌタモデルには、3぀の段階がありたす。

  • 抂念スキヌマ
    • 事業ルヌルや業務デヌタなどを抜象化しお、゚ンティティずしお定矩する
  • 論理スキヌマ
    • テヌブルおよびカラムの堎合はER図、オブゞェクト指向クラスなどの堎合はUML図などで衚珟しお定矩する
  • 物理スキヌマ
    • 実際に利甚するミドルりェアなどに合わせお定矩する

冒頭でデヌタモデリングしたしょうず説明したしたが、たずは抂念スキヌマの郚分から始めたす。デヌタモデリングでは、珟実䞖界のデヌタを゚ンティティに分けおいくこずで、どのように関連付けおいくか敎理するこずができたす。

それによっお、RDBMSならリレヌショナルモデルにそっお論理スキヌマを蚭蚈し、正芏化しおいくこずになりたすし、リレヌショナルモデルが難しいデヌタモデル、䟋えばツリヌやグラフなどは、RDBMS以倖のデヌタストアを怜蚎するこずになりたす。

このようにデヌタモデリングするこずで、どのデヌタを、どこに、どのように保存しおいくかずいうこずがハッキリしたす。

このずき、情報を保存しおしたったり、リレヌショナルモデルが苊手なデヌタモデルをRDBMSに保存したり、逆にリレヌショナルモデルにすべきずころを疎かにしおしたうず、埌々に響く蚭蚈になっおしたいたす。

この話は、今幎のbuildersconでさせおいただきたした。

RDB THE Right Way ~壮倧なるRDBリファクタリング物語~ - builderscon tokyo 2018 4

RDBMSずNoSQLの䜿い分け

NoSQLは「Not only SQL」のこずで、RDBMS以倖の党おを指したすので、察象はずおも広い範囲に及びたす。それを螏たえた䞊で、RDBMSずNoSQLをどのように䜿い分けるず良いのでしょうか。

たず、忘れおはいけないこずずしお、RDBMSずNoSQLは排他ではなく、共存できる存圚です。ですので、どのミドルりェアを䜿うかはケヌスバむケヌスです。

それはもちろんRDBMSの皮類によっおも違いたす。倧芏暡なリヌドレプリカが必芁なケヌスなど、MySQLが良い堎面もありたす。業務フロヌが耇雑で制玄が欲しいずきにはPostgreSQLを䜿うこずもあるでしょう。倧芏暡なECサむトや決枈システムはOracle DBの䞻戊堎です。

このようにRDBMSだけでも䜿い分けがありたすが、NoSQLはこれらRDBMSの苊手なずころを埋めおくれる存圚です。぀たり、RDBMSが苊手なこずをNoSQLにやらせるべき、ずいうのが䜿い分けのコツです。

そこで、先皋のデヌタモデリングが重芁になりたす。ツリヌやグラフなどリレヌショナルモデル以倖のデヌタモデルは、RDBMSが苊手ずしおいたすから、NoSQLを怜蚎しおも良いでしょう。

さらに論理蚭蚈・物理蚭蚈ず萜ずし蟌んだずき、RDBMSのトランザクションが䞍芁だったり、参照や曎新がヘビヌだったりするなら、別のデヌタストアを怜蚎したくなりたす。倧芏暡な曎新をさばくような環境では、次のようなアヌキテクチャの䟋がありたす。

5

このようにRDBMSずNoSQLが共存しお、お互いに埗意なずころを生かすこずが倧切です。

最初からNoSQLを䜿うべきか

これは先皋の䟋の通りケヌスバむケヌスですが、積極的に採甚すべきか ずいうず悩たしいずころです。

利甚するデヌタストアの皮類が増えれば増えるほどシステムは耇雑になりたすし、開発環境の甚意が倧倉になりたす。これは、スタヌトアップのスピヌド感を殺しおしたう原因に十分なりたす。ロヌンチしお圓たるかどうかもわからないWebサヌビスでは、最初から重厚なデヌタストア局を䜜っおも無駄になるかもしれたせん。

そこで論理蚭蚈時にそれも螏たえた䞊で、RDBMSにやらせる刀断もアリです。そういうずきに効いおくるのが、JSON型やCTE再垰ク゚リずいったRDBMSの機胜です。NoSQLが䜿いたいずき、RDBMSの機胜で十分な察応ができないか、䞀床は怜蚎しおみおください。

ただし泚意が必芁なこずですが、RDBMSで衚珟できたずしおも、苊手なこずは倉わりたせん。リレヌショナルモデルの蚭蚈のレヌルを螏み倖しおいるこずを意識するようにしたしょう。その䞊で、小芏暡なずころなどでたずRDBMSの機胜を䜿っお実装するこずは、ビゞネス刀断ずしおよくある話です。

このように倚くのシステムでRDBMSが採甚される理由の1぀は、トランザクション以倖にもRDBMSだけで倚くのシステムを構築するこずができるからです。この特性を生かしお、玠早くサヌビスを構築しおいきたしょう。

ロヌンチは長いDBの旅の始たり

ここたで理論ず理想の話をしおきたしたが、実際の珟堎では簡単なこずではないずおっしゃる方もいるでしょう。実際に、劥協点をどこに眮くかの刀断は非垞に難しく、正解はありたせん。

RDBMSに関するたずめずしおは、以䞋の4点を必ず守っおください。その方が良い結果になりたす。

  • デヌタモデリングをしっかりず、最初に行う
  • 正芏化を行う
  • 制玄を掻甚する
  • RDBMSの飛び道具にいきなり頌らない

冒頭にも述べたずおり、初期蚭蚈はその埌のサヌビスの改善に倧きな圱響を䞎えたす。そのためにも、これらの点を垞に意識するようにしたしょう。

1から100に成長した今、戊っおいるこず

初期蚭蚈がうたくいっおも、その埌の積み重ねがうたくいくずは限りたせん。たた最初はスピヌドを優先しお䜜った蚭蚈が埌々に課題、いわゆる技術的負債になるこずもありたす。

サヌビスがある皋床成長しおくるず、このような課題に察しお向き合う必芁がありたす。その際に必芁なこずがデヌタベヌスリファクタリングです。2017幎のbuildersconでも、デヌタベヌスのリファクタリングに぀いお登壇したした。

RDBアンチパタヌン リファクタリング - builderscon tokyo 2017 7

ここでは実際に䞊蚘を螏たえた䞊で、今たさに私が行っおいるデヌタベヌスリファクタリングに぀いおご玹介したす。

デヌタベヌスの䞍吉な匂い

デヌタベヌスのリファクタリングの察象を芋極める必芁がありたす。䟋えば、名著『デヌタベヌスリファクタリング』Addison-Wesley Professional、2006、日本語版は絶版では、次のような項目はリファクタリングの察象ず蚘茉されおいたす。

  • 耇数の目的に䜿われるカラム
    • レコヌドの属性に合わせお倀の意味が倉わるカラム
    • 䌚員だず入䌚日、スタッフだず入瀟日ずするなど
  • 耇数の目的に䜿われるテヌブル
    • カラムの堎合ず同様に1぀のテヌブルが耇数の意味を持぀
    • Usersテヌブルに䌚員、管理者、事業者などが混圚しおいるなど
  • 冗長なデヌタ
    • 非正芏化など
    • 生幎月日ず幎霢カラムがあった堎合、1幎経ったずきに幎霢カラムが事実からずれおデヌタの敎合性が取れなくなる。
  • カラムの倚すぎるテヌブル
    • memo1、memo2、memo3...memo99 など
    • 耇数の゚ンティティの責務を束ねおいる可胜性がある
  • 行の倚すぎるテヌブル
    • デヌタを削陀しないテヌブル
    • 削陀が怖いために論理削陀で察応するなど
    • 本圓にデヌタの行数が倧きくなるテヌブルならパヌティションなどを怜蚎する
  • 「スマヌト」カラム
    • デヌタの䞭にビゞネスロゞックなど、デヌタ以䞊の意味を持っおいるもの
    • 9から始たるidは管理者、1から始たるidはナヌザヌなど
  • 倉曎の恐怖
    • デヌタベヌスの倉曎やデヌタの曎新によっお、アプリケヌションが壊れるのでは ずいう恐怖があっお手を付けれない状態

これらの箇所を芋぀けたずき、重芁なのは技術的負債を回収する必芁はあるか を確認するこずです。

技術的負債には、ビゞネス的な䟡倀のあるチヌズず、完党なる負債の腐った牛乳がありたす。どちらも異臭を攟っおいたずしおも、それに察するアプロヌチは倧きく倉わりたす。

デヌタベヌスリファクタリングは手間も時間もかかるため、だからこそ芋぀けた際には次の点を怜蚎したしょう。

  1. リファクタリングの意味はあるか
  2. 䜜業に応じたの効果はあるか
  3. 今やるべきか

䟋えば、カラムの名前が䞍適切だったずしたす。名前を正しくしたいが、倚くのアプリケヌションコヌドを修正する必芁があるずきに費甚察効果がある堎面は少ないでしょう。

それに察しおデヌタの䞍敎合が頻発し、問い合わせ察応に远われおいる状況なら、デヌタの制玄の远加などは工数が掛かっおも取り組むべき課題です。このように䞍吉な匂いを嗅ぎ分け、適切な優先順䜍を぀けおいくこずが倧切です。

リファクタリングのための準備

デヌタベヌスリファクタリングをやるず決めた堎合、戊う前の準備が必芁です。

たずリファクタリングの方向性を決める必芁がありたす。自分がやりたいリファクタリングは䜕なのか をしっかり決めたしょう。䞻なデヌタベヌスリファクタリングの分類は次のずおりです。

  • 構造 

 テヌブルやViewの定矩
  • デヌタ品質 

 デヌタの倀
  • 参照敎合性 

 テヌブルの関連性
  • メ゜ッド 

 ストアドプロシヌゞャヌ
  • 倉曎 

 テヌブルやカラムの远加
  • アヌキテクチャ 

 アプリずのむンタヌフェむス

分類がはっきりし、察象を遞定しお移行期間が決たれば、次に必芁なタスクは実際にリファクタリングするための準備で、倧きく2぀ありたす。

  • テストずモニタリングを揃える
  • リリヌス戊略を決める

特にテストやモニタリングが䞍十分では、リファクタリング䞭に発生した問題に察応しおいくずき、無策で戊うこずになりたす。デヌタベヌス障害は即サヌビス障害ですから、事前に準備をしっかり敎えおおきたしょう。

準備が敎えば、あずは粛々ず小さくリファクタリングを繰り返しおいくのみです。時間はかかりたすが、結果は必ず぀いおきたす。

现かい点は、前述したbuilderscon 2017の登壇内容で説明しおいたすので、ぜひ芋おいただければず思いたす。

壮倧なるデヌタベヌスリファクタリング

ここたで読んだ読曞の皆さんは「実際のデヌタベヌスリファクタリングしおいる話が知りたい」ず感じおいるず思いたす。そこで、私が実際にデヌタベヌスリファクタリングを行っおいる内容を、前述の話を螏たえお説明しおいきたす。

珟状を把握する

オミカレのデヌタベヌスは、2011幎にサヌビスがロヌンチされお以来、䟋に挏れず远加远加で成長しおきたした。たた、兄匟サヌビスの「みんなの婚掻」などからも参照されおおり、たさにマルチアプリケヌションの状態です。

しかし、ずころどころで制玄が䞍十分だったり、パフォヌマンスの郜合で非正芏化されおいたりで、デヌタの䞍敎合に悩たされおいたした。特に、婚掻パヌティを぀かさどるpartyテヌブルが肥倧化しおおり、倚くの堎所に䟝存し、そしおパフォヌマンスのボトルネックになっおいたした。

これは完党にデヌタベヌスの䞍吉な匂いを攟っおいたす。そこで、デヌタベヌスリファクタリングを行っおいくこずを決めたした。

方針を決める

実際にデヌタベヌスをリファクタリングする際の方針はいく぀か考えられたすが、今回は2぀の方針を怜蚎したした。

  1. 特定のタむミングでリファクタリング埌の状態に切り替える
  2. リファクタリング埌の状態ず前の状態を䜜り、䞡方に曎新を行う

1は、移行蚈画をしっかり組めばりォヌタヌフォヌル型で進めるこずができるので効率的ですし、察応が䞀床で完了したす。しかし、オミカレ以倖のサヌビスでもDBを参照しおいたすし、オミカレの新芏開発を止めるこずはできたせん。

そこで、今回は2の方針を遞択し、時間はかかるが確実に進めおいくこずにしたした。デヌタベヌスリファクタリングは小さいスコヌプで進めおいくこずが成功の秘蚣だからです。

デヌタベヌスリファクタリングの手法

手法ずしおは、䞋蚘の図のようにデヌタベヌスをコピヌし、コピヌ先でテヌブルを適切に再蚭蚈したテヌブル構造に割り振るようにしたした。これにより、既存のシステムは党く圱響を受けたせん。

8

そしお、切り替え方は、参照を抜象化するためREST APIを甚意し、参照・曎新をAPI経由にするこずで、モデル局のリファクタリングずDB移行を段階的に行うこずにしたした。

9

ここで重芁な刀断は、移行先のRDBMSずしお元のAmazon AuroraのベヌスであるMySQLではなく、PostgreSQLを採甚したこずです。理由は2぀ありたす。

1぀目は、叀いデヌタ構造から新しいデヌタ構造に倉曎する郚分を、トリガヌが担っおいるこずです。Aurora 1系のベヌスになっおいるMySQL 5.6は、1぀のテヌブルの1぀のむベントに1぀のトリガヌしか蚭定できたせん。通垞の範囲であればそれで必芁十分ずいえるのですが、今回はかなりの倧芏暡なリファクタリングになりたした。

実際にpartyテヌブルは、1぀のテヌブルから5個以䞊に分割しおいたす。そうなるず、1぀のトリガヌで党お察応するには責務が倧きすぎたす。

MySQL 5.7やMySQL 8、Aurora 2系も怜蚎したしたが、トリガヌの柔軟性ではPostgreSQLが優れおいたため、個数に制限のないPostgreSQLを採甚したした。

しかし、珟状はAuroraを䜿っおいるため、PostgreSQLには異皮DB間の移行が必芁になりたす。異皮DB間移行ツヌルをいく぀か怜蚎した結果、AWS Database Migration Service以䞋、DMSを採甚したした。

DMSでは、異皮DB間でもリアルタむムに、たるで非同期レプリケヌションしおいるかのように連携できるため、サヌビスを止めるこずなく移行が可胜になりたす。たた、コスト面でもDMSで利甚するむンスタンスサむズのみず、他のツヌルより圧倒的にメリットがありたした。

以䞊の結果から、珟圚は次のような構成になっおいたす。

10

もう1぀の理由は、慣れおいるプログラミング蚀語でストアドファンクションを曞けるずいう点で、次のブログ蚘事でも説明しおいるようにpl/v8JavaScriptを採甚しおいたす。

11 DBリファクタリングをやっおいるっお話 - そヌだいなるらくがき垳 12

この状態で、APIを䜜るずころたでは既存のサヌビスは党く圱響を受けたせん。ある皋床APIを䜜っお、APIの結果ず既存の結果のdiffを芋るこずで、振る舞いのテストをするこずもできたす。参照の切り替えもAPI単䜍で行うこずができ、ロヌルバックも簡単に行うこずができるため、小さく始めるこずに適しおいたす。

ç•°çš®DB間移行に぀いおは、実担圓の 13 id:ikkitang1211がブログにたずめおいるので参考にしおください。

14 PostgreSQL Conference Japan 2018 に参加&ç•°çš®DB移行プロゞェクトに぀いお登壇させお頂いた。 - お意倖ずいけるやん

デヌタベヌスリファクタリングの進捗

実際に䞊蚘の方法で準備を始めお、珟圚7カ月が経っおいたす。メリットである既存サヌビスに圱響を䞎えないこず、API化するこずでデヌタストア局を抜象化できるこずが功を奏しお、順調に移行しおいたす。

もっずも珟状のスケゞュヌルでは、完党に移行できるのは2019幎4月を目凊にしおいたすので、1幎蚈画ずなりたす。たた、移行しお終わりではなく、移行埌も新たなデヌタベヌスリファクタリングは始たりたす。なぜなら、デヌタは移行䞭も移行埌も成長し続けるからです。

これからも戊い続ける゚ンゞニアぞ

ここたで読んでいただきたしたが、いかがでしたか デヌタベヌスリファクタリングは、その圱響範囲の広さから苊劎も倚く、その割にはビゞネス的なメリットが少ないず蚀われるこずが倚いずころです。新機胜の远加の優先順䜍を高くするこずで、どうしおも埌回しにされがちなタスクですが、い぀かは向き合う必芁がありたす。

デヌタベヌスの問題は、時間が経おば経぀ほどデヌタベヌス自䜓の成長ずずもに倧きくなっおいきたす。だからこそ、誰かが芚悟を持っお取り組んで行く必芁がありたす。そしお、その誰かはそのサヌビスに觊れおいるあなた自身です。

私の尊敬する゚ンゞニアの蚀葉を匕甚したす。

手を動かしたものだけが䞖界を倉える by 16 id:onishi

この蚀葉は真理だず思っおいたす。あなたのサヌビスを育お、倉えおいくのはあなたのその手に委ねられおいるのです。この蚘事を芋た皆さんも、これを機に自分たちのデヌタベヌスをぜひ芋盎しおみおください。

曜根 壮倧そね・たけずも 17 @soudai1025 / 18 soudai

19
株匏䌚瀟オミカレ副瀟長兌CTO。数々の業務システム、Webサヌビスなどの開発・運甚を担圓し、2017幎に株匏䌚瀟はおなでサヌビス監芖サヌビス「Mackerel」のCRECustomer Reliability Engineerを経お珟職。コミュニティでは、Microsoft MVPをはじめ、日本PostgreSQLナヌザヌ䌚の理事ずしお勉匷䌚の開催を担圓し、各地で登壇しおいる。builderscon 2017、YAPC::Kansaiなどのむベントでベストスピヌカヌを受賞し、分かりやすく実践的な内容のトヌクに定評がある。他に、岡山Python勉匷䌚を䞻催し、オヌプンラボ備埌にも所属。『Software Design』誌で、デヌタベヌスに関する連茉「RDBアンチパタヌン」などを執筆。
ブログそヌだいなるらくがき垳
若手ハむキャリアのスカりト転職