[フレーム]
1 - 40 件 / 46件
はじめに WASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。 2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(Azure Kubernetes Service)でもWASMにpreview対応しています。WASM Buildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。 WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている
リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得られるということなのだと思うので、可能であればMVCCを採用したいのですが、あまり初学者向けの実装例も見当たらず、どうしたものかと悩んでおります。 SS2PL/S2PLとMVCCの実装の難易度・工数はどの程度違うものなのでしょうか? また、初めてリレーショナルデータベースシステムを開発する者
NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基本的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック
MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? 端的に言うと性能が良いからです。 これを理解するにはバッファプールへの理解が必要です。ディスク指向のデータベースの上では有限のメモリを最大限活用することでメモリに入り切らない巨大なデータ群に対して良好な参照性能を出す必要があります。バッファプールとはディスク上のデータの羅列を固定サイズのページ(InnoDBの場合16KB)の羅列であるとして読み書きに必要な分だけをメモリに移し取り複数の書き込みをできる限りメモリ内で受け止めて後でまとめてディスクに書き戻すという、ライトバック型のキャッシュのような機構です。 この中においてバッファプールは有限のサイズしか無いので適宜プール内のデータを書き戻して入れ替えながら上手くやっていく必要があります。 さてB+treeとB-treeの最大の違いは木のリ
はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない
こんにちは! Tech KAYAC Advent Calendar 2021 7日目を担当する荒賀(@ken39arg) です。 カヤックのエンジニアブログには2008年にPHPを使ったガラケー関連の記事を書いたのが最初になります。 それから10年以上たち、ガラケーも弊社でのPHPのプロジェクトもほぼなくなり、メンバーもかなり入れ替わり、私自身も20代だったのがついに40歳になりました。そんな私にとってこのアドベントカレンダーは私は今でもここにいるよというPingのような役割になっているため、年に一度若者に混じってアドベントカレンダーに参加しております。 例年ですと、趣味のマラソンなどに関する実績も書いているのですが、昨年同様、今年も続くコロナ禍により多くの大会が中止となったためこちらに関しては特に特記すべき実績はありません。ただ2020年に走るはずだった東京マラソンは権利は移行を続けてお
yaml、どうしてこんなに使われているのだろうか。kubernetesにも責任があるというのはありそうな話だけど、色々考えてみるとそこまで簡単な話でもなさそうな気がする。例えばtravis-CIの設定ファイルがyamlであったりというように、この分野ではyamlは割と広く使われていたんじゃないかという気がする。思い起こせばGoogle AppEngineもapp.yamlに設定を書いていたし、設定にyamlというのは割とよくあることであった、のではないかなあ。 しかしなぜyamlなんだろうか。yamlのフォーマットには問題がたくさんあることが知られているし、自分も全く好きではない。 例えばyamlの問題の一つとして、キーに任意のデータ構造を持ってこれるという話があり、これが一部のプログラミング言語で問題を厄介にしている。またエイリアスがあってデータ構造がツリーにならない(複数の経路から同じ
ZennではフロントエンドにNext.jsを使っています。もともとはVercelで動かしていたのですが、2021年3月にGoogle Cloudに移行しました。今回は移行を決めた理由や、具体的な構成、移行作業などについて書きたいと思います。 なぜ移行したのか Next.jsのデプロイ先としてVercelは圧倒的に優れています。ISRやImage OptimizationといったNext.jsの強力な機能をサーバー側の追加設定なしで使用できますし、CDNでの静的ファイルのキャッシュなども特に意識しなくてもいい感じにやってくれます。 Vercel以外にデプロイするとなると、Next.jsの一部の機能がうまく動かなかったり、パフォーマンス・チューニングを自分で頑張る必要があったりと自分で面倒を見なければならない部分が多くなります。 しかし、Zennのケースでは以下のような理由からVercelから
リーガルテック領域のリーディングカンパニーである株式会社LegalForceが、「検索インフラTechTalk!」を開催しました。インフラ領域の中でも「検索インフラ」にフォーカスした今回は、検索インフラに関する具体的な事例や取り組みについて各スピーカーから発表がありました。野口真吾氏は、AWSを用いたデータレイクの基礎について紹介しました。 企業規模に関係なく起こるデータのサイロ化野口真吾氏(以下、野口):みなさんこんばんは。本日は「検索インフラ Tech Talk!」ということで、検索インフラから少し広げた話題にはなるんですが、「AWSを用いたデータレイクの基礎」というお話をします。よろしくお願いします。 最初に簡単に自己紹介します。アマゾンウェブサービスジャパンでスタートアップ担当のソリューションアーキテクトをしている野口真吾と申します。Twitterでは@nogというIDを使って活動
日本語の問いをChatGPTでSQLに変換、実行する「Chat2Query」を搭載。MySQL互換のTiDB Cloud MySQL互換のオープンソースデータベース「TiDB」(タイデービー)を提供しているPingCAP社は、日本語を含む自然言語の問いをChatGPTを用いてSQL文に変換し、実行する「Chat2Query」機能を、クラウド上でTiDBのマネージドサービスを提供する「TiDB Cloud」にβ版として搭載したことを発表しました(日本語のプレスリリース) Introducing #Chat2Query, our AI-powered natural language querying tool that will release you from tedious manual SQL writing and change the way of #DataExploration
Google Cloud で何かアプリケーションを動かしたい時、いつも App Engine (GAE) を第一の選択肢として挙げています。 なのにみ〜んな Cloud Run に行ってしまう。なぜなのか?? 確かに Cloud Run のほうが新しくて公式に露出が多いし、GAE はこういうランディングページからの言及も消えているので無理もない。Google Cloud 的にもあんまり使って欲しくない雰囲気が漂っている。 cloud.google.com App Engine は GCP 最初期からあるサービスで今年で 14 年目になるらしい。 当時学生だった僕はすげーのが出たぞと聞いて GAE を触っていた記憶がある。その頃は Google App Engine 単体で出ていて、他のサービスが続いて Google Cloud Platform になったような気がする1。 そんな歴史あるサ
「Data Engineering Study #23 Data orchestration 特集」の発表資料です イベントページ: https://forkwell.connpass.com/event/310011/
Cloud Run CPU 0.08 ~ 8 Core (2nd gen は最小 0.5~) Memory 128 MiB ~ 32 GiB (2nd gen は最小 512MiB~) Deploy App Engine は Deploy (gcloud app deploy) を実行すると Cloud Build が暗黙的に動いて Deploy が行われるが、これがなかなか時間がかかる。 開発環境だと CI でとりあえず main branch に merge されたら、Deploy したりするけど、Deploy を Skip してもよいような時でも CI 回してると Deploy を待つことになって、ちょっとめんどうに感じる。 更にこの仕組みは成果物は Deploy しないと生まれないので、CI と CDを分離しづらい。 Cloud Run は Container Registry a
オープンソースによるFirebase代替を名乗るBaaS(Backend as a Service)「Supabase」が正式サービス化を発表しました。 Supabaseはこれまで約4年間ベータ版としてサービスを提供してきました。現在は100万以上のデータベースをホストし、新規データベースも1日あたり2500以上増加しており、モバイルアプリケーションからエンタープライズ用途まで十分な機能と安定性、スケーラビリティが実証されたとしています。 Supabaseの主な機能はデータベースや認証、ファイルストレージなど SupabaseはBaaSとして主に以下のマネージドサービス群から構成されています。 PostgreSQLによるデータベースサービス 認証サービス ファイルストレージ エッジロケーションにおけるNode.jsDenoベースのサーバレス基盤 マルチプレイヤーゲームなどに対応するリアルタ
[速報]分散PostgreSQLをAzure Cosmos DBが提供開始、オープンソースの分散DBエンジン「Citus」を採用。Ignite 2022 マイクロソフトは現在開催中のイベント「Microsoft Ignite 2022」で、グローバル規模の分散NoSQLデータベース「Azure Cosmos DB」でPostgreSQLをサポートする「Azure Cosmos DB for PostgreSQL」を発表しました。 Cosmos DBはデータを自動的にユーザーの近くのリージョンにレプリケーションすることで、どのユーザーに対しても高速なデータベースアクセスを実現し、かつグローバルな規模で稼働する大規模分散NoSQLデータベースです。 最大で数ペタバイトのデータ容量と秒間数百万トランザクションまでスケールする性能をカバーできる点を特徴としています。 Azure Cosmos DB
オープンソースの代表的なインメモリデータストア「Redis」のフォークとしてLinux Foundation傘下で開発が進められている「Valkey」は、AWSやGoogle Cloud、Oracle Cloudなどへの採用が始まっています。 参考:Google Cloud、Redisをフォークした「Valkey 7.2」のマネージドサービス「Memorystore for Valkey」プレビュー版を開始 8月2日に、フォーク後の最初のメジャーバージョンとなる「Valkey 8.0」のリリース候補版が公開されたのに合わせて、Valkey 8.0で予定されている性能や機能の向上についての記事「Valkey 8.0: Delivering Enhanced Performance and Reliability」がValkeyのブログに投稿されました。 その内容から、Valkey 8.0の主
イメージとしては スタンダード環境の方が気楽にはじめられる フレキシブル環境の方がより細かな設定ができる という感じでしょうか。 「料金が安いのはスタンダード」とは限らない ググって見つかる情報を読むと、多くの人は「スタンダード環境の方が安く済みそうだ」という印象を持つと思います。僕もそのような考えから、当然のようにスタンダード環境を選んでいました。しかし、結果として、Zennの場合にはフレキシブル環境の方が料金は大幅に安く済むことが分かりました。 Zennの場合 具体例があった方が読んでいて楽しいと思うので、恥を捨てて実際にかかっていたGAEの料金を載せてしまいます。ほれっ。 ※(注記) 料金の推移は、サービスへのアクセス数とはほぼ相関していない ピーク時には1万円/日近くいってしまっていますが、設定と環境を見直すと500円/日くらいで済むようになりました。設定をミスらなければPS5を転売ヤーか
ノーチラス・テクノロジーズとNEC、メニーコアと大容量メモリに最適化した国産の次世代インメモリデータベース「劔(Tsurugi)」発表。アーリーアクセス版公開 日本電気株式会社と株式会社ノーチラス・テクノロジーズは、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)のプロジェクトとして開発をしてきた国産のリレーショナルデータベース管理システム「劔(Tsurugi)」のアーリーアクセス版の公開を発表しました(開発者の神林氏による解説「劔"Tsurugi"とは何か」)。 劔の最大の特徴は、メニーコア、大容量メモリといった最新のハードウェアに対して最適化されたインメモリデータベースとして最初から設計、開発されていることです。 これは、現在主流となっているリレーショナルデータベース製品の多くが10年以上前のコンピュータハードウェアの主流であったシングルコアやデュアルコアなど少数のプロセ
こんにちは、エンジニアの@tarrです。 前回の連載記事ではマルチクラウドなどを使い、Blocksでは最大限落ちないようにリスクヘッジをしながらシステムを構築しているという記事を書きました。 AWSが落ちてもGCPに逃がすことで落ちないシステムを作る技術 今回の記事は、リリース前の状態で、どのように負荷に対応するシステムを構築したかという話です。 リリース前のシステムで、スパイクやユーザー数の急激な増加を予測して、スケールするシステムを作るのは非常に難しいです。 どのように使われるのか、どのような量のリクエストが来るのかを正確に予測することがしづらいからです。 一方で、リリースのタイミングでいきなり落ちてしまって、機能しないものを提供するわけにもいきません。 また、無限にコストをかけることもできないため、コストにも配慮した落とし所を探る必要もあります。 今回は、Blocksがリリース前にス
こんにちは、LINEヤフー株式会社でデータベース部門に所属している、今野です。現在は、先日LINEヤフー社内にて提供を開始したFractalDBの開発と運用を担当するチームに所属しています。 FractalDBは、LINEヤフーのオンプレミス環境に向け開発された、データベースプラットフォームです。この記事では、FractalDBの概要として、開発に至った背景や設計目標から、その特徴およびアーキテクチャの概要について紹介します。 また、LINEヤフーでは今夏のインターンシップを募集しています。FractalDBチームも募集してますので、ページの最後の紹介をぜひ確認してみてください。 FractalDBとは FractalDBは、LINEヤフーのオンプレミス環境に最適化されたデータベースプラットフォームとして開発されています。リレーショナルデータベースとNoSQLデータベースの利点を融合させた
マンガ『ゲームセンターあらし』をはじめ、数々の人気作で知られるマンガ家・小説家のすがやみつる氏。2020年には新刊『ゲームセンターあらしと学ぶプログラミング入門 まんが版こんにちはPython』を上梓し、注目を集めた。またすがや氏は、京都精華大学マンガ学部の教授として、多くの学生を世に送り出してきた人物でもある。2021年3月の退職を機に、研究者・教育者としての足跡について聞いた(写真はすべてすがや氏提供)。 INTERVIEW_小野憲史 / Kenji Ono EDIT_三村ゆにこ / Uniko Mimura(@UNIKO_LITTLE)、海老原朱里 / Akari Ebihara 大学の教員を退職し、再びクリエイター活動へ CGWORLD(以下、CGW):遅ればせながら、京都精華大学を退職おめでとうございます。 すがやみつる氏(以下、すがや):2020年3月に専任教員を定年退職して、
「GCPUG Shonan vol.74」で使用予定のスライドです。 https://gcpug-shonan.connpass.com/event/243711/
tl;dr Firestore は NoSQL のサーバーレスデータベース。 新規開発ならネイティブモードを選択する。 ドキュメント指向のデータモデルを採用していて、コレクション、ドキュメントの階層構造で構成される。 サブコレクションを使うと効率よくクエリができる。 直近のアップデートで、より使いやすくなった。 はじめに みなさん、こんにちは。Google Cloud パートナーエンジニアの Sho です。 この記事は Google Cloud Japan Advent Calendar 2022(今から始める Google Cloud ) の 12/11 の記事です。本記事では、Firestore を取り上げてご紹介させていただきます。 Cloud Spanner や AlloyDB など特徴的なデータベースラインナップを持つ Google Cloud ですが、その中でも NoSQL デ
追記) サービス間通信に関わらず、東京リージョンではカスタムドメインを使うとレイテンシが増加 sinmetalさんにコメントで教えていただきました。 お察しの通り、Tokyo Regionを含むいくつかのRegionのApp EngineはCustom DomainでアクセスするとLatencyが増加します。 ドキュメントとしては https://cloud.google.com/appengine/docs/standard/ruby/mapping-custom-domains?hl=en に書いてあります。 確証はないですが、GoogleのネットワークのエッジポイントにあるGoogle Frontend Serverは、App EngineのCustom Domainの紐付けを持っておらず、us-central1に一度行ってしまうために、発生するLatencyなのではないかと思います
はじめに 今回は、Google App Engine に Next.js アプリケーションをデプロイした際に遭遇した課題と、それぞれの対応について紹介します。 npx create-next-app コマンドの実行後にデプロイした際に、以下の課題に遭遇しました。 next/image を利用している画像へのリクエスト時に App Engine 上で書き込みエラーが発生する App Engine のイメージサイズが400MB弱程度と大きい App Engine のパフォーマンス改善のためのウォームアップリクエストの構成方法が分からない 1. next/image を利用している画像へのリクエスト時に App Engine 上で書き込みエラーが発生する next/image を利用することで、WebP 対応や画質の調整、画像のサイズに応じた配信など簡単に実現することができます。詳しくは、Nex
Here’s a riddle. My web app keeps all of its data in a SQL database. I can spontaneously tear it down, deploy the code to a different hosting platform, and the app will still serve all the same data. Running my app in production costs 0ドル.03 per month. How is this possible? That’s easy. You have a separate database server running somewhere that stores all of your app’s state. No, my app never talks
NTT Tech Conference 2022(2022年3月23日開催) 「音声系サービスにおける サーバーレスアーキテクチャの 活用について」 (講演者:西谷 智広[NTTコミュニケーションズ株式会社])の講演スライドです。 GCPのサーバーレスアーキテクチャを使ってNTTコミュニケーシ...
GCPのApp Engine(GAE)とCloud CDNを合わせて使う方法について、ググってもあまり解説が見つからなかったのでまとめておきます。 GAEとCloud CDNを合わせて使うメリット GAEにはエッジキャッシュがデフォルトで備わっています。レスポンスのヘッダーでCache-Control: public, max-age=86400などと指定するだけでレスポンスがGoogleのエッジサーバにキャッシュされます。 残念ながら、このエッジキャッシュについて公式ドキュメントがほとんど見つかりません。 GAEのエッジキャッシュが使えるならCloud CDNは不要では? GAEのエッジキャッシュは気軽に使えて楽なのですが、キャッシュを明示的に削除することができないという難点があります。アプリの新しいバージョンをデプロイしてもしばらくは古いキャッシュが表示され続けてしまったりするので、本
Google Cloud Platform 製品などに関連するコミュニティが記載したテクニカル記事集。掲載された意見は著者のものであり、必ずしも Google のものを反映するものではありません。 この記事は Google Cloud Japan Customer Engineer Advent Calendar 2020 の 6日目の記事です。 はじめにGoogle Cloud でアプリケーションを実行する基盤として、Google Compute Engine ( GCE ), Google Kubernetes Engine ( GKE ), Google App Engine ( GAE ), Cloud Run, Cloud Functions などの選択肢が挙げられます。これらのプラットフォームを適切に選択するためのベストプラクティスを本記事では書いていきたいと思います。GAE
はじめに 2日くらい前に突然webサービスのアイデアが浮かびました。 バレンタインにも合いそうなwebサービスなので、とにかく速く製造してリリースするという目標でやってみました。 どんなwebサービス chocopoi 「ちょこぽい」というwebサービスです。 twitterで見かけた気になる人にchoco(≒いいね)をひそかに送るサービスです。 (twitter認証が必要です) ※(注記)ホントのチョコを渡すわけではありません。「いいね」を送るとお考え下さい。 バレンタインに、下駄箱を開けるとチョコが入っててドキドキみたいなのが体験できないかな? という思いつきから作ったwebサービスです。 chocoを渡す方法は簡単! まず送りたい相手のユーザー名や@の名前を入れて、検索してください。 送りたいユーザーがでたら選択し「chocoをあげる」ボタンを押すだけ! これでchocopoiちょこぽいアカ
JX通信社シニア・エンジニアの@shinyorke(しんよーく)です. ちょっと前のお話になりますが, JX通信社のニュース速報アプリ「NewsDigest」で, 「AIワクチン接種予測」という新機能の提供を開始しました. prtimes.jp 「自分がいつコロナワクチンを接種できるか?」を簡単に予測できるサービスです. 使っていただけると嬉しいです🙏 大変ありがたい事に,「AIワクチン接種予測」はリリース後多くの反響を頂いていまして, リリースから約半月で利用回数が100万回を突破(プレスリリース). 同じく, リリースから半月で20本以上ものTV番組で紹介 と, 多くのユーザーさんにお使いいただきました. ありがとうございます🙏 これだけ多くの方に使っていただくとなると, リクエスト数・ユーザー数の増減に合わせたコンピューティングリソースの配分 特に, 「TV経由で認知したユーザー
(これはこの記事からの転載です) FireStoreのイベントは、Eventarcを用いることで他のサービス、例えばCloud Runなどをトリガーできます。 今回、Eventarcを用いてFireStoreのイベントをトリガーとしてCloud Runを呼び出してみることにします。 EventarcはAuditとPub/Subの両方から流し込むことができます。PubSubはCloud PubSubとして他のいろいろなところから流し込むことができ、AuditはFireStoreのイベント以外にもGoogle Cloudで起きるほぼすべてのAPI呼び出しをイベントとして流し込めます。 1. 取得したいイベントの監査ログを有効化する 最初にEventarcを有効化する監査ログの種類を指定し、有効化します。 IAM権限管理 -> 監査ログ で、 "Firestore/Datastore API"
key-value storeを設計するにあたって,リカバリのためにwalを設計するとします。walを可変長にしたい場合,各wal recordにrecord長を表すheaderをつけるような実装が素直な実装の一つとしてあると思うのですが,wal recordを格納しているファイルが破損し,あるwal recordのheader部分が信頼できなくなった場合,各recordの長さがわからなくなってしまうため当該wal record以降のすべてのwal recordが信頼できなくなるような弱点があるように思えるのですが,この問題はうまく回避できるのでしょうか 前提として世の中にあるデータベースは基本的にログファイルが破損する事を想定していません。ログは信頼できるストレージに複製込で保存されており、化けたり消えたりする事はないという前提を置いています。想定する一番大きな障害でもMedia Fai
GAE (standard) に対して、ロードバランサー及びVPCからのトラフィックのみを受け付けるようにする設定が追加されました。詳しくはこの記事のGAEの項目を参照ください。 External HTTP(S) Load BalancerとCloud Armorの関係 External HTTP(S) Load Balancerは、Googleのpoints of presence (PoPs) において実装されています。Googleのpopとは、Googleのネットワークへの入り口のようなもので、世界中に沢山存在しています。Googleのサービスへのアクセスは、これらのpopを通り、Googleのデータセンターに到達します (厳密には、使用しているGCPのVPCがPremium Tierかどうかが関係しています)。 "Google Cloud Armor security policy
メモ的共有 2020年にリリースされたMackrelのGCPインテグレーション。 GAEのみを動かしているプロジェクトの監視を入れてみた。 相変わらず、分かりやすい手順書を公開していただいているので、ポチポチと設定完! https://mackerel.io/ja/docs/entry/integrations/gcp しかし、待てども待てどもホスト追加されない。 ドキュメント記載の確認ポイントを調べても、解決せず。。。 https://mackerel.io/ja/docs/entry/integrations/gcp/appengine ネット上にもそれっぽい悩みは見つからず。。。 そこで、GCP側を調査。 APIとサービスのダッシュボードで、インテグレーション設定したタイミングから、computeのエラーが発生していた。 手順では、GAEしか使わない環境だったので、GCE、Cloud
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く