DrizzleORMのGoldスポンサーになりました
はじめに
私たちは最近、DrizzleORMのGoldスポンサー($1,000/月)になりました。
本記事では、DrizzleORMについての簡単な紹介と、OSSスポンサーになるメリットについてご紹介します。
DrizzleORMとは
DrizzleORMとは、TypeScript製のORMライブラリです。
シンプルなAPIを提供し、SQLに似たインターフェースでデータベースを操作できる点が特徴です。
テーブル定義をTypeScriptで記述でき、TypeScriptの型システムを活用することで、型安全なSQLを作成することができます。
例えば、SELECT文は次のように記述できます。SQLに精通している方であれば、すぐに理解できるでしょう。
const rows = await db
.select()
.from(schema.users)
.innerJoin(schema.posts, eq(schema.posts.userId, schema.users.id));
ただし、このAPIを使用する場合、返り値は以下のように行単位で返されます。
const rows: {
users: {
id: string;
name: string;
};
posts: {
id: string;
title: string;
userId: string;
};
}[];
Prismaのように、ネストされたオブジェクトとして取得したい場合は、以下のQueryAPIを使用する必要があります。
const users = await database.query.users.findMany({
with: {
posts: true,
},
});
このAPIを使用した場合、返り値は次のようになります。
const users: {
id: string;
name: string;
posts: {
id: string;
title: string;
userId: string;
}[];
}[];
レコードをオブジェクトにマッピングする作業を省略したい場合は、QueryAPIを使用するのが良いでしょう。
一方で、DrizzleORMのシンプルなAPIをそのまま活用したい場合には、行単位で取得するAPIを使用するのがおすすめです。
私は特にDrizzleORMのシンプルなAPIに魅力を感じており、QueryAPIを使用すると過度に複雑なSQLが生成されることがあるため、行単位で取得するAPIを使用することが多いです。
DrizzleORMのスポンサーになるまでの経緯
弊社にはOSSへの貢献を推奨する文化があります。
まだ数は少ないですが、社内で開発したOSSもいくつかあります。
また、業務中にOSSへコントリビュートすることもよくあり、直近ではFlutterへコントリビュートしたメンバーもいます。
そういった背景の中で、OSSコミュニティへの貢献の一環としてOSSのスポンサーになることを決定しました。
数あるOSSの中からDrizzleORMを選んだ理由は、その技術的特性が私たちのプロジェクトと非常に親和性が高いと感じたからです。
まず、DrizzleORMが提供するシンプルで直感的なAPIは、私たちにとって非常に魅力的です。
複雑な設定や学習コストを最小限に抑えながらも、強力な型安全性を確保出来ます。
私たちが開発するアプリケーションでは、CQRSの考え方を取り入れることが多く、参照系ではレスポンスを早く返すために軽量かつ効率的なSQLを記述し、更新系ではDDDの考え方を重視したコードを書いています。
PrismaのようなORMでは過度に複雑さを感じることがありましたが、DrizzleORMのシンプルさはまさに私たちのアーキテクチャスタイルにぴったりでした。
DrizzleORMのスポンサーになる事で得られるメリット
DrizzleORMのスポンサーにはいくつかのランクがあり、それぞれのランクに応じて様々な特典が用意されています。全てのランクに共通した特典としてホームページおよびREADMEにロゴが掲載されます。
ホームページのロゴ表示
さらに、Bronze以上のランクになると、SlackまたはDiscordでの開発者との直接コミュニケーションが可能になり、issueに優先的に対応してもらえる特典があります。
実際のやり取り
上記の件は後日にちゃんとマージされました
また、Gold以上のランクではDrizzleORMのドキュメントのサイドバーに常にロゴが掲載される特典も追加されます。
サイドバーのロゴ表示
ホバーするとキラキラ光ります
かっこいい
まとめ
私たちは、今後もゴールドスポンサーを続けたいと思っています。OSSに感謝を示したいからです。
しかし現実的な話をすると、会社は利益を追求する組織です。
ゴールドスポンサーであることが「会社にとってメリットがない」と判断された場合、経営層から「スポンサーを打ち切ろう」もしくは「シルバースポンサーまでランクを下げよう」という提案が出てくるかもしれません。
そこでお願いがあります。私たちのスポンサー活動に共感していただけるエンジニアの方がいらっしゃいましたら、ぜひ弊社への応募をご検討いただければ幸いです。
私たちにとって、この考えに共感してくださるエンジニアと共に働けることは非常に嬉しいことですし、「スポンサーを続けた結果、エンジニアの応募が増えています」と経営層に報告できる材料にもなります。
というわけで、ご応募心からお待ちしております!
→Webエンジニアの募集要項 | PrAha Entrance Book
Discussion