測定してみました。 postgresのio_uringを有効にした時のパフォーマンスを見てみる · GitHub
はじめに こんにちは。BEENOSのがれっとです。 AWS上にアプリケーションを構築する際、一般的なのはECS + RDSという組み合わせです。私も社内システムをそのような形で構築しました。 しかし、使わないときにもインスタンスが動き続けてしまうため、大量のトラフィックを捌かないアプリケーションにおいてはコストが見合わないものとなってしまいます。 そこで、ECS + RDSという構成からLambda + EFSの構成に社内システムを移行して、コスト削減した話を紹介します。 前提 以下の構成のアプリケーションを移行しました。 Blitz.js 内部に下記を使用 Prisma Next.js PostgreSQL テーブル数は12 (_prisma_migrationsテーブルを含めて13) AWS 構成図 移行前 移行後 リレーショナルデータベースを用いることが必須のアプリケーションを構築す
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どうも、 ryo_grid です。 手元に大量の2次元イラスト画像があって、うまいこと検索できないかなあと思い、ちょいとコードを書いてみました。 Anime Style Illustration Specific Image Search App with ViT Tagger x BM25/Doc2Vec https://github.com/ryogrid/anime-illust-image-searcher 作ったものの概要 深層学習系の技術も活用した画像検索アプリケーション => Vision Transformer(ViT)
R&Dチーム所属の伊藤です。気がついたら半年ぶりくらいの投稿になってしまいました。 今回はrinna株式会社より公開された言語画像モデルである日本語対応CLIPを使ってみた話になります。 元々はCLIPとFaissを組み合わせて画像検索のためのツールを作れないかを試していたのですが、どうせだったら可視化までしようと考えてStreamlitを使用したアプリ化も行いました。 今回作成したコードはGithubのリポジトリにありますので、興味がある方は覗いてみてください。 CLIPとは? Faissとは? CLIPとFaissで画像検索 事前準備 画像ベクトルのインデックス作成 インデックスを読み込んで画像検索 Streamlitで画像検索アプリを作成する 最後に CLIPとは? CLIPはOpenAIより提案された、テキストと画像を使用して画像分類モデルです。 CLIPはContrastive
先日、社内有志で開催していたDB自作本 Database Design and Implementation の輪読会ならぬ輪実装会がついに完結を迎えました。 RDBMSをゼロから、毎週一人ずつ、1章分を実装してPullRequestを出しつつ資料も準備して発表をこなすという一見ハードな勉強会で、完走できるか不安もありつつスタートしましたが、やってみるとめちゃくちゃ楽しく最後まで完走できました。 本記事ではみなさんに「うちでもやってみたい」と思ってもらえることを願って、読んだ本の推しポイントや、どのように勉強会を進めたかを紹介したいと思います。 感動で涙の出るコード Part1: おすすめポイント 本が良い みんなでワイワイやるのが良い 3ヶ月で完走できるのがいい 完走後のモチベーションアップが良い Part2: 輪実装会 募集 参加者 進め方・実装 期間 Part3: おれたちのDB実装
Rust標準ライブラリのBTreeMapの実装コードを参考にB+Treeをフルスクラッチで実装しました。 get, insert, remove, rangeなどの基本的な操作は実装できているので、ひとまずここに記録します。 ソースコードはGitHubリポジトリに公開しています。そちらもみて見てください github.com どなたかのB+Treeの実装や理解の参考になれば幸いです。 (1600行程度で収まったのでstd::collections::btree_mapより追いやすくなっていればいいなと) 実装した主な操作 Rustっぽい疑似コードです。細かい仕様はソースコードみてください。 fn get(key) -> Option<value> 入力に全順序なkeyを取る。もし要素が存在すれば、そのvalueを出力する。 fn insert(key, value) -> Option<o
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は DeNA 24 新卒 Advent Calendar 2023 の 23 日目の記事です。 TL;DR DBMSの基本的な仕組みを知るのに有益だったリソース CMUのDBMS講義 先人の素晴らしい自作DBMSの解説記事&ソースコードリーディング 小さな小さな自作DBMSの設計と実装 最小限SELECTやINSERTなど基本的なSQLが動く この記事のゴール データベースの内部構成を超ざっくり理解するために有用なリソースを知り、そして(全開発者のロマンである)自作 DBMS に一歩踏み出すきっかけになればうれしいです。 モチベ
先日以下のような記事をQiitaに書いたのですが、サーバをずっと動かすとなるとそれが可能なマシンを用意できるか、持っているかが問題だよなー、とか考えてました。 qiita.com で、そういえば、AndroidスマホならTermuxというAndroid端末内に独自Linux環境を構築するアプリがあるので、使わなくなったAndroidスマホなんかを有効活用して、サーバ動かしておくというのは悪くないのでは、と思い試してみたところ、見事動きました! (そもそもAndroidはLinuxの一種なので、アプリがユーザに見せるシェルにおいてだけ、chrootでファイルシステムのルートの位置を変更して、あれこれ必要なファイルを配置してあげれば、独自のLinuxユーザランドが作れるよね、というのがTermux、という認識) まずは、下のサイトなどを参考にしつつ、Fdroidアプリを経由してTermuxをイ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。 ryo_grid です。 今回はピュアP2P分散マイクロブログシステム NostrP2Pというものを作ってみたのでそれについて書いてみます。 ひとまず開発物のGitHubリポジトリはこちら ryogrid/nostrp2p ryogrid/flustr-for-nosp2p アイキャッチ画像です。 前提知識 Nostr プロトコルについてのざっくりとした理解 こちらの記事などに目を通しておいていただければ十分かと 開発しようと思った経緯 元々NAT透過なオーバレイ上で動作するピュアP2Pなアプリケーションを作ってみたかった
http://lttng.org/urcu|Userspace RCU という大変クールなプロジェクトがあります。 「RCU(リードコピーアップデート)をユーザースペースで行うもの」という事で、そこだけ聞くとなんのこっちゃという感じ。 リードコピーアップデートって何よ リードコピーアップデートそのものの正しい説明はWikipedia*1 でも読んでもらうとして、Wikipediaを読むのすら面倒な人の為に説明すると「みんなで共有してるデータをfree()しても良いタイミングを見極める技術」です。 特定の構造体をみんなで共有して書き換えたりしたいな → Lockとればよくね? すごく頻繁にアクセスするし読み出しの方が多いからLockはやだな → Read-Write Lockでよくね? Read-Write LockだとAtomic命令多すぎてパフォーマンスでないな → Lock無くしてデー
みなさん、こんにちは!ソラコムでソラカメの事業開発を担当しております高見(ニックネーム:yuu)です。 2023年4月27日に、分身ロボット「OriHime」をはじめとするコミュニケーションテクノロジーの研究開発・製造販売をされている株式会社オリィ研究所と株式会社ソラコムの共催でネットワークエンジニアのMeet Upイベント「Web通信/配信サービスの裏側公開」をオリィ研究所が運営する分身ロボットカフェDAWN ver.βにて開催しました。 本記事では、当日のイベント内容や会場の雰囲気についてご紹介します。 プレゼン:「ソラカメ」の映像配信技術についてご紹介 まずトップバッターは株式会社ソラコムのソフトウェアエンジニアである松下こと、ニックネーム名:kokiから「ソラカメの映像配信技術」と題して、発表しました。 松下はリモート参加でしたが、今回はオリィ研究所の分身ロボット「OriHime」
なんとTokyo開催に続き、 Bluesky Meetup in Osaka も開催します! BlueskyチームのWhyさんが大阪にも来てくれることになりました! 前回(2023/4/7)の東京開催の様子 ※画像提供 東城朱音さん ブログ記事 前回(2023/4/7)の東京開催のメディア記事 ITmediaの記事 ギズモードの記事 前回の大阪開催はBluesky上でしか募集していませんでしたが、去年の6/25に大阪でもmeetupという名のBBQを開催していました。 なので今回は大阪開催2回目です! Bluesky とは Blueskyは、もともとTwitter社が開発を主導していた分散型のSNS。 ジャック・ドーシー氏がTwitterに居た頃から開発が開始され、2021年に暗号資産 Zcashのソフトウェアエンジニアの経歴を持つJay Graber氏がプロジェクトリーダーに任命されてい
序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み
はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』という本の内容を深く理解するためでした。 この本は、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋渡しを巧みに行いながら、丁寧に説明している名著です。読んだことがない人は速攻購入してくだい。本当にいい本です。 この本は、データベースの内部構造に関する話も豊富に含まれていたので、「データベース自作してみようか...」という気持ちになりました。 Rustを採用した理由 データベースの実装のついでに、
オーバレイでメッセージをブロードキャストできるだけのものができた! https://github.com/ryogrid/buzzoon/releases/tag/v0.0.3 構想はコレ: みんなで頑張る分散ピュアP2Pマイクロブログシステム(Buzzoon) · GitHub 試し方(サーバ起動) ryogrid.net:9999 ryogrid.net:8888 に既にオーバレイネットワークに参加しているサーバが2匹いるのでどちらかに接続。 バイナリはWin環境なら buzzoon.exe、Linux環境なら buzzon_linux、Mac環境ならbuzzoon_mac ローカルのサーバは下のように起動 $ .\buzzoon.exe server -l 0.0.0.0:20000 -p 1985 -n ryo -b ryogrid.net:9999 -l オプションはバインドする
Skip to the content. 自作RDBMSやろうぜ! このサイトの目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されたサイトや書籍で、必要な情報・情報源がまとまったものがないことに気づきました そこで、叩き台として、本サイト管理人および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSするための道筋をある程度整理して書き記してみました 各々の情報・情報源はあいかわらず多くが英語で記述されていますが、その点はご容赦下さい なお、本サイトは技術的な解説を提供するのではなく、適切と思われる情報・情報源をポイントするようなサイトとなることを想定しています
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Nostrという、SNSのようなものはご存知でしょうか? ご存知でなければ、ぜひまず一度触ってみることをお勧めします。 割と普通にSNSっぽく使えます。 分散系SNSっぽいシステム Nostrは、分散系のSNSっぽいネットワークです。 図で表すとこんな感じ。普通に想像するWebサービスとは随分形が違うと思います。 各所のリレーサーバーに、ユーザーは投稿をばらまき、ユーザーがそれを見る形です。 分散の責任がユーザー(クライアント)側にあって、リレーサーバーが落ちたり消えたりしても影響が起きにくい仕組みです。 より詳しい説明は上記
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに これは データベース・システム系 Advent Calendar 2023 の12/23の記事である そして Nostr (2) Advent Calendar 2023 の12/2の記事である LMDBというDBMSについて調べてみた内容をつらつらと書く Discraimer 筆者はデータベースシステムの専門家ではないため、頓珍漢な記述をしている可能性あり。その点ご留意頂きたく。誤っている点があれば指摘頂ければ幸甚 一部、推測に基づいた内容あり。それらの箇所は推測に基づいている旨分かるように記述する (実装を確認するといった
さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDB は Google のBigTableをベースにしたアーキテクチャを持
Vicuna-13BはChatGPTの90%の性能を持つと評価されているチャットAIで、オープンソースなので誰でも利用できるのが特徴です。2023年4月3日にモデルのウェイトが公開され、誰でも手元のPCでチャットAIを動作させることが可能になったとのことで、早速使い勝手を試してみました。 GitHub - lm-sys/FastChat: The release repo for "Vicuna: An Open Chatbot Impressing GPT-4" https://github.com/lm-sys/FastChat/#vicuna-weights 2023年3月30日にはオンラインで動作を試せるデモ版が公開されていました。デモ版の様子は下記の記事で確認できます。 ChatGPTやGoogleのBardに匹敵する精度の日本語対応チャットAI「Vicuna-13B」が公開され
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く