One IT Thing

IT業界で飯を食う為の学習系雑記

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
-, ,

執筆者:

関連記事

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

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

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

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

Mattermostのチャンネル発言数をMetabaseでビジュアル化する

オンプレGitLabでMattermostを使えるようにした後の活用法として、「ナレッジチャンネル」を運営してチームの知識を共有する営みをしている開発現場も多いと思います。 ミーティングではなくチャッ …

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

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

GitLabのリポジトリを複製して引っ越しする

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

 

shingo.nakanishi
 

東京在勤、職歴20年越え中年ITエンジニアです。まだ開発現場で頑張っています。

19歳(1996年)から書き始めた個人日記が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけどフリーランスで孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。