GitLab

GitLab12.1からMySQLを捨ててPostgreSQLに一本化するらしい

投稿日:2019年7月6日

オンプレSCMの旗手、GitLabから掲題のニュースが有りました。

2017年から公式発表があったことですが、GitLab 12.1からMySQLのサポートを止めるとのことです。

普通にインストーラを使ってインストールすると組み込みのPostgreSQLが入るので該当する方々は一握りだと思いますが、オンプレでGitLabを使っていて、MySQLでデータ保存している方々は本格的に移行準備を迫られるようです。

GitLabがMySQLサポートを止める理由

MySQLに最大限の敬意を表しつつ、以下の理由が挙がっていました。最終的にGitLabにはMySQLは合わないそうです。

  • MySQLはWITH句の再帰が弱い
  • カラム制限を増やす為にハックを使用しなくてはならない
  • 長さを指定しないとTEXT型のカラムを追加できない
  • パーシャルインデックスが使えない
  • GitLab Geoで使用する位置空間情報機能が無い
  • これらを解決する為のコードを書いてきたがマージコストが2倍になる
  • 同様にCIのコストも2倍になる

要するにGitLabを開発する上でMySQLが重荷になっている、ということらしいです。

GitLabユーザの内、MySQLを使っているユーザが1,200だったのに対し、PostgreSQLを使っているユーザは110,000で、MySQLユーザの大半はGitLab11ユーザだった。この為12.1に移行さえしてくれればPostgreSQL一本に出来る。と判断したとのこと。

マイグレーションガイドも出してくれているので該当する方は早めに移行検証した方が良さそうです。

このニュースを見て思ったこと

2019/07現在のRDBMS、NoSQL問わないDBのシェア、というか関心度(?)はこんな感じだそうで、トップ3がぶっちぎってます。

1.Oracle Relational, Multi-model 1321.26
2.MySQL Relational, Multi-model 1229.52
3.Microsoft SQL Server Relational, Multi-model 1090.83
4.PostgreSQL Relational, Multi-model 483.28
5.MongoDB Document409.93

何か違う点を挙げるなら、保守態勢の違いでしょうか。日本でもお高いお金を支払ってこれらのRDBMSを使うことが一般的になっています。(MySQLは入門者の多さがコンバージョンを下支えしている印象を持ってます)

でも折角お金を払ってサポート依頼しても大概ビジネスロジックのせいにされますし(まぁ大体当たりなんですが)、サポートが役に立つほどハマるのは希少パターンで、結局自分達で切り抜けるケースが99.9%な気が自分の感覚ではしています。

それでもユーザ企業はこれらのRDBMSに保守料金を払い、その分開発人件費は圧迫されるんですよね・・・それが必要かどうかの判断もしないまま。

もしそのお金でベテランを雇えていたら・・・開発が楽になったり、知識共有出来たり、若手の教育に一役かってくれたり、今後もお付き合いしたいと思える人脈が出来たり、自分も早く帰って寝れたり、とか欲深いことを考えるとトップ3を選ぶ企業はどこか思考が停止してるんじゃないか、とか思い始めてしまいます。

最近では公共事業でも保守料金の高さが原因でOracleからOSS DBへマイグレする話を結構聞き及ぶようになりましたし、このニュースがDB(製品)保守以外の本質的な部分に投資しようと思う企業が増える要因の一つになればと思っています。

-GitLab
-, ,

執筆者:

関連記事

社内プライベートMattermostを立ち上げてChatOpsする

社内開発チーム内のコミュニケーション、上手く行っていますか?メンバーが世界各地に散らばってないなくても、近くの席に座っていても、心は意外と離れているかも知れません。 以下でプライベートなGitLab1 …

GitLab Omunibus版のPostgreSQLに普通のpsqlコマンドで接続

GitLab Omunibus版でインストールされるビルトインPostgreSQLは、 TCP:5432ではなくホスト内でしか接続出来ないUnix Domain Socketで待機ローカルホストからO …

GitLab内のリポジトリをmirrorして引っ越しする

目次1 はじめに2 環境3 引っ越し開始3.1 ①GitLabで引っ越し先リポジトリを作っておく3.2 ②旧リポジトリのミラーリポジトリを開発用PCに作る3.3 ③ミラーリポジトリに入って内容物を確認 …

Omnibus版のGitLab、Mattermostデータベースに外部ホストからJDBCで接続

Omnibusで入れたPostgreSQLは、 Unix Domainソケットで接続待機Peer認証で認証 していて外部からの接続は出来ないことが前回分かりました。One IT Thing  …

GitLab12.2.1をCentOS7.6にインストール

会社のコンプライアンス的にgithubが使えない個人開発しているプログラムを完全にプライベートで管理したい GitLabを家庭や社内でオンプレで使えばこれらのニーズを満たすことが出来ます。 留意点とし …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯技術者として楽しく生きることを目指しています。デスマに負けず健康第一。