並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 32 件 / 32件

新着順 人気順

"Consistent Hashing"の検索結果1 - 32 件 / 32件

  • 2020年現在のNewSQLについて - Qiita

    Disclaimer 当記事はNewSQL開発ベンダの技術ブログや各種論文、その他ニュースサイト等の内容を個人的にまとめたものです。 そのため、理解不足等に起因する誤解・誤認を含む可能性があります。更なる理解が必要な方はリファレンスに挙げた各種文献を直接参照下さい。技術的な指摘は可能であれば取り込み修正しますが、迅速な対応はお約束できません。 NewSQLの解説は二部構成 当記事は前編でNewSQLの概要編となる。 全体の目次は下記である。 NewSQLとは何か NewSQLのアーキテクチャ NewSQLとこれまでのデータベースの比較 NewSQLのコンポーネント詳解 1章から3章までの内容を当記事で解説する。 4章はさらに詳細な技術的解説となり、後編の「NewSQLのコンポーネント詳解」で記述している。 こちらも合わせて一読いただきたい。 1. NewSQLとは何か NewSQLとは、海

      2020年現在のNewSQLについて - Qiita
    • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

      こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

        PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
      • 各社のエンジニア研修で探る、新人エンジニアに必要な技術と駆け出しエンジニアの成長論 - このすみノート

        新人研修の内容を検討しているのですが、それにあたり各社の新人研修を調査しました。 なお本記事は、@gcchaan氏のGitHub Gistにある「研修資料まとめ」を参考に作成しております。 @gcchaan氏の「研修資料まとめ」はとても素晴らしいまとめで、これを見ると各社がどのように新人エンジニアを育成しているのか見てとれたり、新人エンジニアがどのような研修を経て成長していくのか垣間見えます。 DMM.com(2019) DMM.comの研修で紹介されている技術書 GMOペパボ(2019) LINE(2018) Spee(2016) Wantedly(2019) ウエディングパーク(2019) エムスリー(2018) 研修概要 KAYAC(2017) クックパッド(2016) GREE(2014) ぐるなび(2017) LEMPについて サイバーエージェント(2019) エンジニア研修がど

          各社のエンジニア研修で探る、新人エンジニアに必要な技術と駆け出しエンジニアの成長論 - このすみノート
        • The History of Distributed Databases - Google, Amazon, Facebook など巨大企業による分散データベース技術の発展 | Wantedly Engineer Blog

          こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 今日は、WANTEDLY TECH BOOK 5 から「巨大企業による分散データベース技術の発展」という章を抜粋して Blog にします。 「WANTEDLY TECH BOOK 1-7を一挙大公開」でも書いた通り、Wantedly では WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布する事にしました。Wantedly Engineer Blogでも過去記事の内容を順次公開予定であり、この Blog もその一環となっています。 Wantedly における Go 導入にまつわる技術背景 | Wantedly Engineer Blog (本記事は Go Conference 2019 Autumn にて無料配布した冊子『WANT

            The History of Distributed Databases - Google, Amazon, Facebook など巨大企業による分散データベース技術の発展 | Wantedly Engineer Blog
          • eBPF - The Future of Networking & Security

            Nov 10, 2020eBPF - The Future of Networking & Security Today is an exciting day for the Cilium community: Isovalent, the company behind Cilium, is announcing its $29M Series A financing round backed by Andreessen Horowitz, Google, and Cisco. This is a perfect occasion to take a deeper look into where eBPF-based networking is coming from and to understand what the excitement is all about. Two weeks

              eBPF - The Future of Networking & Security
            • memcached proxyで使うハッシュアルゴリズムを比較した話 - Mirrativ Tech Blog

              memcached proxyのハッシュアルゴリズム比較 はじめまして!hibikiです(@add_bakkers) 現在大学3年生で、最近はネットワークに興味があり勉強中です。2023年8月からインフラチームにインターンとして参加しました。 本記事ではmemcached proxyのハッシュアルゴリズム比較の結果を紹介します。 memcached proxyのハッシュアルゴリズム比較 1. 背景と目的 ミラティブでのmemcachedの利用 課題: クライアントサイドでサーバ決定をしている memcached proxyの検討 2. memcached proxyに求められるアルゴリズム キーの分散 移動率の抑制 パフォーマンス ハッシュアルゴリズムの比較 3. 今回行うベンチマークの概要 計測対象とシナリオ 分散と移動率のベンチ 処理性能のベンチ 4. ベンチマークの結果と比較 移動率

                memcached proxyで使うハッシュアルゴリズムを比較した話 - Mirrativ Tech Blog
              • ドメイン知識の問題集や勉強の仕方(随時更新)|gaijineers

                ドメイン知識は幅広いのでどこまで勉強すればいいか思った時のリスト。勉強の仕方色々あるが個人的にわかりやすいなと思ったものも書いときます ソフトウェアエンジニアとしてやりながらrecoというエンジニア向けの転職プラトフォームを作ってます。現在は数社のテック企業のサポートをしております(https://jobs.reco.sh/) reco経由で申し込むと面接に備えるためのサポートが得られます。面接対策のヒントや質問例、模擬面接などを通じて、自信を持って次のステップに進む準備ができます。 申請リンク:https://airtable.com/appDsRlN6LTSiW0a3/shrP9nwF925b1d5ZJ Network復習 TCP, UDP: High Performance Browser Networking - Ilya Grigorikの2~3章 (m)TLS: Liz Ric

                  ドメイン知識の問題集や勉強の仕方(随時更新)|gaijineers
                • 更新可能なデータレイクを構築するテーブルフォーマットApache Hudiについて - Repro Tech Blog

                  Reproでチーフアーキテクトを担当しているjoker1007です。 今回、社内のデータストレージの将来的な選択肢の一つとしてApache Hudiというテーブルデータフォーマットについて調査と実データでの検証を実施しました。 この記事では2回に分けて、そもそもhudiってどんなフォーマットなのか、どういうデータで検証してどんな結果が得られたのかについて紹介します。 ということで第1回は、hudiそのものについての紹介をしていきます。 この記事はhudi-0.14.1を利用して検証した時のものです。また社内向けに書いた資料の手直しであるため丁寧語でないことに御留意ください。 Hudiとは何か、その目的 hudiは更新可能なデータレイクを構築するためのテーブルフォーマットである。 ストリーミングによるデータインサートや、upsert, deleteをサポートする。 通常、データ分析に向いたデ

                    更新可能なデータレイクを構築するテーブルフォーマットApache Hudiについて - Repro Tech Blog
                  • 深層学習のための分散キャッシュシステム - Preferred Networks Research & Development

                    エンジニアの上野です。Cluster Servicesチームという、PFNのKubernetesベースの機械学習基盤を開発・運用するチームに所属して、基盤の改善や新機能の開発に務めています。本記事では、深層学習における学習データセット読み込み速度の改善を目指して開発し、現在もKubernetes上で運用中の分散キャッシュシステムを紹介します。 PFNの機械学習基盤については、ブログ「2022年のPFNの機械学習基盤」もご参照ください。 深層学習における学習データセット読み込み 深層学習を高速化するため、深層学習に向いたアクセラレータの開発が日々続けられています。PFNで開発しているMN-Coreシリーズや、NVIDIA社製GPUもそのひとつです。これらのアクセラレータは高速に行列演算を行うことができ、深層学習の1イテレーションにかかる時間を高速化、ひいては深層学習を活用する研究開発全体を加

                      深層学習のための分散キャッシュシステム - Preferred Networks Research & Development
                    • 20億req/dayを受けるレコメンドサービスの裏話。Smart Channelが直面する問題とその対策

                      LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE株式会社およびヤフー株式会社は、2022年11月17日・18日の2日間にわたり、技術カンファレンス「Tech-Verse 2022」をオンライン(ライブストリーミング形式)にて開催しました。特別連載企画「Tech-Verse 2022 アフターインタビュー」では、発表内容をさらに深掘りし、発表では触れられなかった内容や裏話について登壇者たちにインタビューします。今回の対象セッションは「20億req/dayを受けるレコメンドサービスが直面する問題とその対策」です。 LINEアプリのさまざまな場所にレコメンドを届けるSmart Channelは、日本・タイ・台湾の合計1億6,700万ものユーザー(MAU)に向けて、毎日1,

                        20億req/dayを受けるレコメンドサービスの裏話。Smart Channelが直面する問題とその対策 
                      • How Rust and Wasm power Cloudflare's 1.1.1.1

                        ≈ On April 1, 2018, Cloudflare announced the 1.1.1.1 public DNS resolver. Over the years, we added the debug page for troubleshooting, global cache purge, 0 TTL for zones on Cloudflare, Upstream TLS, and 1.1.1.1 for families to the platform. In this post, we would like to share some behind the scenes details and changes. When the project started, Knot Resolver was chosen as the DNS resolver. We st

                          How Rust and Wasm power Cloudflare's 1.1.1.1
                        • 今年のOSS活動振り返り @ 2019

                          2019年のOSS活動の振り返り記事です。 今までの振り返り。 今年のOSS活動振り返り @ 2018 | Web Scratch 今年のOSS活動振り返り @ 2017 | Web Scratch 今年のOSS活動振り返り @ 2016 | Web Scratch 今年のOSS活動振り返り @ 2015 | Web Scratch 今年のOSS活動振り返り @ 2014 | Web Scratch 2019年のGitHubのContributionsは7000~10000ぐらいを推移していました。 ちょっとプライベートリポジトリのコミット比率が上がって、原因はasocial-bookmarkでのブックマークシステムな気がします。後は、仕事のリポジトリがPrivate比率多い。 GitHubのCurrent Streakは2246日で6.153424658年コミットは続いています。 データ

                            今年のOSS活動振り返り @ 2019
                          • Unlocking the Power of JunoDB: PayPal’s Key-Value Store Goes Open-Source

                            Today we are delighted to share JunoDB as an open-source project on Github, allowing others to benefit from our efforts to have an extremely scalable, secure and highly available NoSQL infrastructure. JunoDB is a distributed key-value store that plays a critical role in powering PayPal’s diverse range of applications. Virtually every core back-end service at PayPal relies on JunoDB, from login to

                              Unlocking the Power of JunoDB: PayPal’s Key-Value Store Goes Open-Source
                            • OceanVista 再読 - 急がば回れ、選ぶなら近道

                              OceanVista http://www.vldb.org/pvldb/vol12/p1471-fan.pdf 基本的アーキテクチャは、DC間クラスターをインフラにおいて、高遅延・耐障害性を前提にした分散transactionの仕組みになっている。 どう見てもAlibabaのOceanBaseそのものではない。が、同じAlibabaグループでかつ、Oceanの名前をつけているので、関係はなくはないと思う。少なくとも同じグループまたは情報交換はしているのではないか。技術的な方向性を模索するプロトタイプに見える。 バックグラウンド的な与太話をすると、Alibabaは、というか中国的には、ITでの米国からの依存脱却(ポーズだけなのか、実際なのかは置いておいて)を目標として掲げているのは周知の通り。んで具体的な話としては、Alibaba的には脱Oracleが一つの目標になっている。この目線で見た

                                OceanVista 再読 - 急がば回れ、選ぶなら近道
                              • Unimog - Cloudflare’s edge load balancer

                                As the scale of Cloudflare’s edge network has grown, we sometimes reach the limits of parts of our architecture. About two years ago we realized that our existing solution for spreading load within our data centers could no longer meet our needs. We embarked on a project to deploy a Layer 4 Load Balancer, internally called Unimog, to improve the reliability and operational efficiency of our edge n

                                • High Availability Load Balancers with Maglev

                                  BackgroundWe run many backend services that power our customer dashboard, APIs, and features available at our edge. We own and operate physical infrastructure for our backend services. We need an effective way to route arbitrary TCP and UDP traffic between services and also from outside these data centers. Previously, all traffic for these backend services would pass through several layers of stat

                                  • Consistent Hashing (コンシステントハッシュ法) - Carpe Diem

                                    Consistent Hashingとは Consistent Hashingはハッシュテーブルアルゴリズムの1つです。 ハッシュテーブルのサイズの変更をしても柔軟にマッピングできるため、ノードの追加・削除が発生する分散データベースやキャッシュの保存先を決定するといった用途に使われます。 アルゴリズムの説明 ハッシュ化 例えば入力値を0~99の値に変換するハッシュ関数を用意します。 ノードのIDをそのハッシュ関数で変換すると以下のように配置されたとします。 次にデータも同じようにハッシュ関数で変換し、以下のように配置されたとします。 マッピング データのハッシュ値と同じorより大きな値の中で最も近いノードにマッピングします。 自分よりも大きなハッシュ値を持つノードが存在しない場合は、最小のハッシュ値のノードにマッピングします。 これがConsistent Hashingです。 ノードの追加

                                      Consistent Hashing (コンシステントハッシュ法) - Carpe Diem
                                    • [論文紹介] Snowflake - NSDI '20 -

                                      Building An Elastic Query Engine on Disaggregated Storage 突然始まった、論文紹介シリーズである。 データベースに関連する目に付いた論文をざっくりと解説していく。個人的な興味は分散DB、トランザクション、ストレージエンジン等なので、その辺りに偏ることはご容赦頂きたい。 初回は「Building An Elastic Query Engine on Disaggregated Storage」(日本語訳:分散ストレージ上での弾力性の高いクエリエンジンの構築)、Snowflakeのアーキテクチャを解説した論文を読んでいく。 ※早速お詫びとなるが、Zennのタイトルで文字数制限があり、正式な論文名を当記事に冠することが出来ない。誤解を招くタイトルだったら申し訳ない。 と思ったら こちらに論文の翻訳が発表されていた。英語は苦手だが全文読んで理

                                        [論文紹介] Snowflake - NSDI '20 -
                                      • Building a large-scale distributed storage system based on Raft

                                        Guest post by Edward Huang, Co-founder & CTO of PingCAP In recent years, building a large-scale distributed storage system has become a hot topic. Distributed consensus algorithms like Paxos and Raft are the focus of many technical articles. But those articles tend to be introductory, describing the basics of the algorithm and log replication. They seldom cover how to build a large-scale distribut

                                          Building a large-scale distributed storage system based on Raft
                                        • CI for performance: Reliable benchmarking in noisy environments

                                          CI for performance: Reliable benchmarking in noisy environments by Itamar Turner-Trauring Last updated 07 Dec 2023, originally created 02 Dec 2020 You have some code—whether it’s Python, Rust, Java, or some other language—whose speed you want to measure over time. Ideally you want it to get faster, but at the very least you don’t want to get any slower. So you write a benchmark, and now you need t

                                            CI for performance: Reliable benchmarking in noisy environments
                                          • Himeji: A Scalable Centralized System for Authorization at Airbnb

                                            The ProblemOver the last couple of years, Airbnb engineering moved from a monolithic Ruby on Rails architecture to a service oriented architecture. In our Rails architecture, we had an API per resource to access the underlying data. These APIs had authorization checks to protect sensitive data. As there was a single way to access a resource’s data, managing these checks was easy. In the transition

                                              Himeji: A Scalable Centralized System for Authorization at Airbnb
                                            • CSE 138: Distributed Systems

                                              From the beginning of this year, I started to take lecture courses of undergrad distributed systems course at UC Santa Cruz (CSE 138) by Lindsey Kuper. It consists of 23 lectures (you can see the schedule of topics from here) and recently I’ve finished all of them. I’m not a student at UCSC but due to the COVID-19 situation, all these lectures were delivered online and are available on YouTube. So

                                              • Database Fundamentals

                                                About a year ago, I tried thinking which database I should choose for my next project, and came to the realization that I don't really know the differences of databases enough. I went to different database websites and saw mostly marketing and words I don't understand. This is when I decided to read the excellent books Database Internals by Alex Petrov and Designing Data-Intensive Applications by

                                                  Database Fundamentals
                                                • 分散システムにおけるScalableな名前付けアルゴリズム「Chord Protocol」を実装してみた - Qiita

                                                  この記事はEnjoy Architectingからの転載です。 概要 分散システムを学術的に学びたくて、 Chord Protocolというアルゴリズムが面白かったので実際に論文を読んで実装してみました。 この記事では、分散システムにおける名前付けの概念と、Chord Protocolの紹介、簡単な検証について言及していこうと思います。 分散システムにおける名前付けとは? 分散システムの分野には「名前」、「名前付け」、「アドレス」と呼ばれる概念があります。 それぞれどのような意味を持っているのでしょうか? 名前付けと名前 分散システムはネットワークを通じてそれぞれのサーバ、プロセスが協調して動作しています。 この中で、各サーバ、プロセスはやり取りをする相手の「名前」を知らなければやり取りを行うことができません。 この名前の解決を行うことを「名前付け」と呼んでいます。 そして、あるリソース(

                                                    分散システムにおけるScalableな名前付けアルゴリズム「Chord Protocol」を実装してみた - Qiita
                                                  • Real-time Messaging - Slack Engineering

                                                    Did you know that ground stations transmit signals to satellites 22,236 miles above the equator in geostationary orbits, and that those signals are then beamed down to the entire North American subcontinent? Satellite radios today serve hundreds of channels across 9,540,000 square miles. Unless you’re working at a secret military facility, deep underground, you can enjoy satellite radio everywhere

                                                      Real-time Messaging - Slack Engineering
                                                    • Building an elastic query engine on disaggregated storage | the morning paper

                                                      the morning paper a random walk through Computer Science research, by Adrian Colyer Made delightfully fast by strattic Building an elastic query engine on disaggregated storage, Vuppalapati, NSDI’20 This paper describes the design decisions behind the Snowflake cloud-based data warehouse. As the saying goes, ‘all snowflakes are special’ – but what is it exactly that’s special about this one? When

                                                        Building an elastic query engine on disaggregated storage | the morning paper
                                                      • データ分散アルゴリズムASURAの実装

                                                        最近、 仕事がピリっとしないからか、 趣味で分散ストレージでも作ってみようかなぁと思って色々と思考を巡らしている。 分散ストレージには大きく分けて2つの実装がある(と思う)。 1つは、どのデータがどこにあるかなどのメタデータを持つメタデータサーバを 保持し、そのメタデータサーバを参照・更新しながらレプリケーションや、ピースの分散を行うというタイプのもの。 もしこれをやるのであれば、メタデータはTiKVを使おうかなと考えていた。 TiKVはRustで実装された分散KVSだが、 レプリケーションを行う単位をRaftグループとして、これを複数持つMulti-Raftという構成をとっている。 外にはプレースメントドライバというプロセスがデータや負荷の分散具合を監視し、 必要に応じてマイグレーションを行っているらしい。 Raftを使っていれば、マイグレーションは簡単だろうと想像する。 もう1つは、そ

                                                        • eBPF Updates #2: eBPF with Zig, libbpf-bootstrap, Rust Linker, BTF in Kernel Modules, Cgroup-Based Memory Accounting

                                                          eBPF Updates #2: eBPF with Zig, libbpf-bootstrap, Rust Linker, BTF in Kernel Modules, Cgroup-Based Memory Accounting Foreword Welcome to the second issue of the eBPF Updates! This time we have interesting resources about how to write eBPF programs with Zig, or with Rust, or on how to manage them with libbpf. On the kernel side, modules now support BTF, and improvements to memory accounting for eBP

                                                            eBPF Updates #2: eBPF with Zig, libbpf-bootstrap, Rust Linker, BTF in Kernel Modules, Cgroup-Based Memory Accounting
                                                          • 分散システムにおけるScalableな名前付けアルゴリズム「Chord Protocol」を実装してみた - Enjoy Architecting

                                                            概要 分散システムを学術的に学びたくて、 Chord Protocolというアルゴリズムが面白かったので実際に論文を読んで実装してみました。 この記事では、分散システムにおける名前付けの概念と、Chord Protocolの紹介、簡単な検証について言及していこうと思います。 実際に作ったサーバ 分散システムにおける名前付けとは? 分散システムの分野には「名前」、「名前付け」、「アドレス」と呼ばれる概念があります。 それぞれどのような意味を持っているのでしょうか? 名前付けと名前 分散システムはネットワークを通じてそれぞれのサーバ、プロセスが協調して動作しています。 この中で、各サーバ、プロセスはやり取りをする相手の「名前」を知らなければやり取りを行うことができません。 この名前の解決を行うことを「名前付け」と呼んでいます。 そして、あるリソース(特定のプロセス、サーバなど)を一意に特定する

                                                              分散システムにおけるScalableな名前付けアルゴリズム「Chord Protocol」を実装してみた - Enjoy Architecting
                                                            • NoSQL Database Interview Questions for Experienced Candidates

                                                              Here is a list of common NoSQL interview questions with detailed answers for experienced NoSQL Database professionals. Through advanced queries about architecture, optimization, and real-world problem-solving in NoSQL environments, such interviews aim to gauge the candidate’s ability to understand the complexities of NoSQL databases in scalable, high-performance applications. In such interviews, o

                                                                NoSQL Database Interview Questions for Experienced Candidates
                                                              • Mackerelで負荷テスト中のリソースモニタリングを行う - shiimaxx's blog

                                                                Mackerel Advent Calendar 2019 22日目のエントリです。 Mackerelでは、ホストやミドルウェアのメトリックをグラフとして可視化することができます。日々のシステム状況の把握やキャパシティプランニング、トラブルシューティングの際に参照するのが主な用途だと思いますが、システムの運用を開始する前の負荷テストにおいても活用することができます。 本エントリでは、時系列データベースGraphiteの書き込みパフォーマンスの負荷テストを例にして、Mackerelによる負荷テスト中のメトリックの可視化とそれを活用してチューニングする過程を紹介します。 ひとつ注意点があります。Mackerelではメトリックを1分間隔で保持するので、負荷計測を短時間(数十秒〜数分)で行うケースではデータの解像度が足らずうまく利用することができません。 これから紹介するのは「ある想定したワークロ

                                                                  Mackerelで負荷テスト中のリソースモニタリングを行う - shiimaxx's blog
                                                                • Dive Deep Memcached ~ 入門から実装の確認まで ~ - hayashier Tech Blogs

                                                                  Redis本を執筆しました。Memcachedとの詳細な比較も付録で取り上げていますので、こちらも是非合わせてご覧ください。 Memcachedは以下の特徴を持ったインメモリのKVSとなります。 シンプルマルチスレッド処理ロジックの半分はサーバで、半分はクライアントサーバ同士では通信は行わず、互いに独立コマンドはO(1)TTLに従った失効と、LRUによるevictionlibeventによるイベント駆動処理なお、合わせてMemcachedのソースコードの各種ファイルの概要についての詳細は以下の記事をご覧ください。 Redis / Memcached Source Code Reading – Overview –MemcachedのSETコマンド実行時のソースコード中のフローの詳細については、以下の記事をご覧ください。 Dive Deep Memcached Internals ~ SET

                                                                    Dive Deep Memcached ~ 入門から実装の確認まで ~ - hayashier Tech Blogs
                                                                  1