タグ

ブックマーク / medium.com (83)

  • dbt-bigquery-monitoring: Monitoring BigQuery compute and storage with dbt

    dbt-bigquery-monitoring helps you to monitor your BigQuery compute and storage assetsIntroductionI’ve been using BigQuery for eight years, and it’s been an incredible platform for working with data at scale using SQL. Running queries and creating tables for analytics and data products is remarkably easy. The advent of dbt has further simplified creating complex workflows for many data practitioner

    dbt-bigquery-monitoring: Monitoring BigQuery compute and storage with dbt
    Ehren
    Ehren 2024/10/22
  • 生命を燃やすことと失うことの違いと思考の関係と、二元論への終止符

    ある日唐突に、Twitterにこのような質問が飛び込んできましたので、皆さまが命を燃やすときに少しでもお役に立てればと書きました。 「鶏が先か、卵が先か」問題への終止符 鶏が先か卵が先か問題は、鶏がいないと卵が生まれないし卵がないと鶏が生まれないという、因果性のジレンマの例として使われ、私が世の中で最も危険だなと思うものの一つです。 例えばビジネスにおいては、市場が大きくならないと成功事例が出ないけど成功事例がないと市場が拡大しない、とか、多くの人が買ってくれないと原価を安くできないけど安くできないと多くの人が買わない、などのシーンです。このような行き詰った状況の場合に、「これは鶏が先か卵が先かという問題だ(だから打ち手がない)」という風に言う人もいます。 しかしほとんどの場合においては、AとBはそれぞれからしか生まれないという状況は視野を狭く定義しない限り、そんなことは成り立ちません(な

    生命を燃やすことと失うことの違いと思考の関係と、二元論への終止符
    Ehren
    Ehren 2024/09/08
  • Semantics and Data Product Enablement — A Practitioner’s Secret

    This piece is a community contribution from Frances, a recognised leader in the Data, Analytics, and AI space. With over 16 years of experience, Frances has delivered impactful data solutions across various sectors, with a focus on data management in financial services. She has also contributed to multiple projects in data transformations, cloud migrations, and data products, using a range of tech

    Semantics and Data Product Enablement — A Practitioner’s Secret
    Ehren
    Ehren 2024/09/08
  • PdM/EMが気づくべき「技術負債」の異変〜予測精度の幅で捉える〜

    技術負債が溜まっている勘所について。現場のエンジニアは実際のシステムを触っているので変更や追加をする過程で当事者になるのでおおよそ異変に気づく。 一方、実際にそのシステムに対となるプロダクトに関わっているのはエンジニアだけではない。PdMEM、事業責任者がいる中でこのメンバーにどう常に変化し続けるシステムアーキテクチャの異変に気づいてもらうのか、自ら気づかせるのかは至難の業である。 技術負債とは、現場のエンジニアが感じる理想と現実との乖離のことでリファクタリングやリプレイスはそれを少しでも差分を埋めることである。(その差分を当に埋めることができるかはエンジニアのスキルとシステムの複雑性による) そうなったときに、どこに一番その予兆ができるかというと一番わかり易いのは工数の予測精度の幅があると仮定する。 以下の3つのフェーズがあったときにそれぞれのズレが大きい場合は負債が溜まっていること

    PdM/EMが気づくべき「技術負債」の異変〜予測精度の幅で捉える〜
    Ehren
    Ehren 2024/07/11
  • “Why Scrum” for Software Developers

    Many software developers working in a Scrum environment see Scrum as a “company tax” — additional overhead they need to adhere to because their company expects them to. Dailies, reviews, refinements, and retros are seen as ceremonies; something you have to endure that don’t really add much value to your work. If this is how Scrum feels to you, you’re not alone. In this article, I want to explain w

    “Why Scrum” for Software Developers
  • Why AI wont take your job just yet

    Since the emergence of generative AI products like Chat GPT and GPT4 last year, there has been a silent, collective sense of dread amongst workers across most industries. At first, it was fun, we were asking Chat GPT numerous useless questions like how to rule the world and so forth, making funny tweets and memes about it and even using it to do our assignments and projects. But after a while, it

    Why AI wont take your job just yet
    Ehren
    Ehren 2024/06/04
  • HBase Deprecation at Pinterest

    Alberto Ordonez Pereira | Senior Staff Software Engineer; Lianghong Xu | Senior Manager, Engineering; This blog marks the first of a three-part series describing our journey at Pinterest transition from managing multiple online storage services supported by HBase to a brand new serving architecture with a new datastore and a unified storage service. In this introductory post, we will provide an ov

    HBase Deprecation at Pinterest
    Ehren
    Ehren 2024/05/25
  • Building an Efficient ETL/ELT Process for Data Delivery

    “Data is the new oil” — a statement that has underscored our approach to data management over the past decade. We’ve dedicated ourselves to gathering, processing, and analyzing vast volumes of data to fuel our journey towards becoming a data-driven organization. However, with the rise of ChatGPT, collecting over 1 million users in just 5 days, the landscape has shifted. This phenomenon has sparked

    Building an Efficient ETL/ELT Process for Data Delivery
    Ehren
    Ehren 2024/05/05
  • The future of the data engineer — Part I

    IntroductionIn this post we explore the shifting focus of Data Engineering from Data Infrastructure and Data Integration to Accessible Analytics, in Meta and the industry at large. However the tools that we use are largely focused on the former two which presents a major challenge for the function. We will showcase challenges this mismatch created during the evolution of Data Engineering at Meta a

    The future of the data engineer — Part I
    Ehren
    Ehren 2023/04/09
  • Data Engineering Book Review: Apache Beam - ‘Streaming Systems’

    Ehren
    Ehren 2023/03/23
  • 「Redis 実践入門」を執筆しました

    この度、「Redis 実践入門」を発売します(https://amzn.asia/d/fGlUHb7 )。このブログは告知のために書きました。 筆者がどういった考えで執筆し、どういった内容を扱っているかについて取り上げます。 書を執筆した動機私がRedisと関わり始めた当時、Redisに関する日語書籍は書店にあったものの、仕事を十分にできると感じられる書籍と出会うことが出来ませんでした。 周りのエンジニアからも同じ話を聞くことが多々ありました。 NoSQL関連全般に関する技術雑誌の中でRedisについて取り上げられていることは多くありますが、基的には書籍全体の一部として扱われていたり、絶版でバージョンが古く現在のRedisとは状況がかなり変わっています。 また、日々Redisは急速に進化しており、それらに追随して新しいバージョンのものについて言及した書籍というものもありませんでし

    「Redis 実践入門」を執筆しました
    Ehren
    Ehren 2022/11/30
  • Entering Actor Model Nirvana with F# and TPL DataFlow

    Ehren
    Ehren 2022/09/21
  • Rustが遅すぎる?プロファイリングで性能向上!

    「開発プロセスにプロファイリングを組み込むのはどうだろう?」 ミーティングで、プロファイリングの重要性を発言するだけで、みんながあなたの深い知見、意識の高さに驚くことでしょう。もちろん、あなたは、プロファイリングのやり方を知っている必要はありません。開発の終盤に、性能目標が達成されず、解析が実施される頃には、誰もあなたの発言は覚えていません。しかし、万が一、あなたの意見が採用されても困らないように、この記事を参考にしてください。 Goは、CPU、メモリ、block、mutexなど、使いこなせないほどの種類をサポートするプロファイリングツールpprofを標準機能として提供します。一方、Rustは、そんな機能を提供しません。Rustへの愛が揺らぐかもしれませんが、Rustへの愛は、見返りを求めない純愛です。愛の見返りに何かが与えられると期待してはいけません。 Rustでもpprofあなたは、す

    Rustが遅すぎる?プロファイリングで性能向上!
  • Cloud Run でマイクロサービスを作る 5 つのポイントをまとめてご紹介!

    はじめに早速ですが、皆さんはマイクロサービスを構築するとしたら、どのような構成を考えますか? 多くの企業で、GKE を使ったマイクロサービス アーキテクチャが採用されています。選定理由として、Kubernetes が持つ機能や大きめなリソースが必要であったり、社内インフラチームによる Kubernetes のサポートがあるといった理由などがあります。一方、定期アップグレードなどの観点から、Kubernetes の運用は少し大変…と感じる方もいるかと思います。 GKE Autopilot の利用という考えもありますが、サーバーレスでコンテナを動かせる Cloud Run を使って、インフラ管理不要でマイクロサービスを構築が出来ると嬉しくないですか? 実際、そういった構成を採用されている企業も見かけます。 この記事では、設計や実装時に考えるであろう、以下の 5 つのポイントにフォーカスしてみた

    Cloud Run でマイクロサービスを作る 5 つのポイントをまとめてご紹介!
  • サーバーレス コンテナ Cloud Run に待望の新機能 Always on CPU が登場しました

    TL;DRCloud Run で Always on CPU (プレビュー)が選択可能にコンテナインスタンス起動中は CPU がフルに利用できます利用形態によっては料金面でメリットもCloud Run とはひとことでいうと「サーバーレス コンテナ」を提供するフルマネージドコンピューティング環境であると言えます。コンテナ上のアプリケーションは、HTTPS、gRPC、WebSocket または イベントでトリガー されます。 処理した分だけ課金される サーバーレスサービスで、無料枠もありお手軽に利用を開始することができます。 また大規模なサービスにも多くの実績がある大変人気のサービスです。 Always on CPU (プレビュー)従来、Cloud Run では リクエストを受け付け処理している間のみ CPU の割当てが保証されていました。つまりレスポンスを返したあとは CPU 割当てが無効に

    サーバーレス コンテナ Cloud Run に待望の新機能 Always on CPU が登場しました
    Ehren
    Ehren 2021/09/14
  • Cloud Spanner でインターリーブテーブルを高速に取得する

    記事ではインターリーブテーブルを使いこなす、ちょっとしたテクニックを紹介します。 TL;DRCloud Spanner では SELECT AS STRUCT 構文をサブクエリに使うことで、親のテーブルとインターリーブされたテーブルのレコードを一発で高速に取得することができます。更に Cloud SpannerCPU 使用率も抑えることができるので非常に効率的にクエリできます。 はじめにCloud Spanner ではインターリーブと呼ばれる、あるテーブルのレコードの物理的な配置を別のテーブルのレコードの配下に置ける仕組みがあります。この仕組みを使ってテーブル間に親子関係を作ることで、複数のテーブル間に参照整合性制約を持たせたり、パフォーマンスを向上させることができます。 このインターリーブですが、親のテーブルと子のテーブルを両方一辺に取得したいと思ったことはないでしょうか?ユーザ

    Cloud Spanner でインターリーブテーブルを高速に取得する
    Ehren
    Ehren 2021/07/04
  • A Deep Dive into Airbnb’s Server-Driven UI System

    How Airbnb ships features faster across web, iOS, and Android using a server-driven UI system named Ghost Platform 👻. By Ryan Brooks Background: Server-Driven UIBefore we dive into Airbnb’s implementation of server-driven UI (SDUI), it’s important to understand the general idea of SDUI and how it provides an advantage over traditional client-driven UI. In a traditional world, data is driven by th

    A Deep Dive into Airbnb’s Server-Driven UI System
    Ehren
    Ehren 2021/07/03
  • RustでLinuxカーネルの機能を拡張しよう!

    Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、GoPythonRustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

    RustでLinuxカーネルの機能を拡張しよう!
    Ehren
    Ehren 2021/06/14
  • Optimizing 700 CPUs Away With Rust

    In Tenable.io, we are heavy users of Datadog custom metrics. Millions of metrics are sent through Dogstatsd, providing deep insights into the complex platform. As the platform grew, we found that a significant number of metrics sent by legacy apps were obsolete. We tried to hunt down these obsoleted metrics in the codebase, but modifying legacy applications was extremely time consuming and risky.

    Optimizing 700 CPUs Away With Rust
    Ehren
    Ehren 2021/05/14
  • Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python

    This post is a continuation of Measuring network service performance. When my computer doesn’t have an Internet connection, I find that there is not much I can do with it. Indeed, we mostly use our laptops and smartphones to access information stored or generated somewhere else. It’s even hard to imagine the utility of non-user facing apps without network communication. While the proportion of I/O

    Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python
    Ehren
    Ehren 2021/02/26