タグ

architectureとdbに関するteppeisのブックマーク (8)

  • Exploring Notion's Data Model: A Block-Based Architecture | Notion

    A generation of pioneers (Doug Engelbart, Ted Nelson, Alan Kay, and many more) saw the computer as tool to augment human problem-solving by giving people power over information. Today, that information mostly remains siloed across tools. Take cloud-based document editors, where pages are their smallest atomic unit. Information is locked inside of pages and files and folders — that’s reminiscent of

    Exploring Notion's Data Model: A Block-Based Architecture | Notion
  • マイクロサービスにひそむ複雑さに立ち向かう - Qiita

    はじめに はじめまして。Kyashでサーバサイドエンジニアを担当しているhirobeです。 Kyash Advent Calendar 2021の12/5担当分です。 Kyashでは、約30ほどのマイクロサービスが動いてます。 マイクロサービスは難しいです。 私が入社して2年半ほどの間、マイクロサービスの複雑さに苦しめられ、あがいてきた実経験をもとに、マイクロサービスにひそむ難しさを紹介したいと思います。 ここでは、ケースとして、弊社の機能のひとつである登録カードからのリンクを実装する上で発生する問題を紹介したいと思います。もちろん弊社サービスを使ったことない人でもわかるように説明をしますのでご安心ください。 なお、最初に注意書きしておくと、ブログではあくまで「マイクロサービスにひそむ複雑さとその対応法」を説明するためのわかりやすさを優先して説明していきます。事実とは異なるケースがありま

    マイクロサービスにひそむ複雑さに立ち向かう - Qiita
  • はじめてのB2B SaaSデータモデリング in Builderscon 2019

    Cheating the UX When There Is Nothing More to Optimize - PixelPioneers

    はじめてのB2B SaaSデータモデリング in Builderscon 2019
  • 分散キューという名の苦しみ - Software Transactional Memo

    TL;DR 分散システムにおいてキューを導入する場合、当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン

    分散キューという名の苦しみ - Software Transactional Memo
    teppeis
    teppeis 2018/06/18
    「キューを用いたパターンはパワポの絵から実体化して運用に乗せるとびっくりするほど多くの地雷を踏むことになる」exactly once, at least once とかは簡単ではないよという話
  • リアルタイムとバッチの違い - kuenishi's blog

    昨日、分散DB読書会のあとに品川のラーメン屋でリアルタイムとは何ぞや〜みたいな話になった。自分の思いついたポエムをここに書いておこう。現場の問題とはあまり関係がない。 Stream Data Processing: A Quality of Service Perspective (Advances in Database Systems)というによれば、DSMS (Data Steram Management System) とDBMS (Database Management System)の違いは、クエリを発行するデータ集合の性質にある。つまり、DBMSは今ある有限のデータに対して操作を行うための仕組みで、DSMSはこれからやってくる無限のデータに対して操作を行うための仕組みと定義されていた。このDSMSというやつは、古式ゆかしいストリーム処理システムのことで、まあいわゆるCEP

    リアルタイムとバッチの違い - kuenishi's blog
    teppeis
    teppeis 2015/06/16
    「DBMSは今ある有限のデータに対して操作を行うための仕組みで、DSMSはこれからやってくる無限のデータに対して操作を行うための仕組み」
  • OTN Japan - 今だからデータ・アクセスを真剣に考える! 第2回

    前回の「データベースことはじめ(前編)」では、システムの論理的な階層の中でドメイン層をどの様に実装するかということで、PoEAAのアーキテクチャパターンを元に見てみました。今回は、パーシステンス層のアーキテクチャパターン+αを見ていきます。 まずパーシステンス層を見る前に、今回の話題とは直接ではないですが、間接的に関わってくる層のサービス層に関して少し触れておきたいと思います。サービス層は、ドメイン層配下のビジネスロジックをユーザインタフェース層やアプリケーション層から利用するためのインタフェースとして機能します。一般的にトランザクションロジックやセキュリティロジック、ドメインロジックのワークフロー等のドメインロジックとは直接関係ないロジックを含むのみで、大きなドメインロジックを含むことは好ましくないとされる層です。 では、パーシステンス層です。ここまで、役割的には、データアクセスの実装を

    teppeis
    teppeis 2013/03/17
    Table Data Gateway, Row Data Gateway, Active Record, Data Mapper
  • 【17-A-5】ウェブアーキテクチャの歴史と未来

    96 Years of Temporary Taxation in Canada [infographic] via FBCScott Pledger

    【17-A-5】ウェブアーキテクチャの歴史と未来
    teppeis
    teppeis 2011/02/24
    奥さん
  • BigtableとSmalltable - スティルハウスの書庫の書庫

    App Engineによる設計手法でひとつ私が実案件で試してなかなかうまくいったと思ったのは、「Smalltable」って私が勝手に呼んでいるアーキテクチャです。簡単にいうと、「複数クライアントのローカルのSQLite間をDatastoreを介して同期する」仕組みです(こういうの一般に何パターンと言うのでしょう…教えてください!)。 クライアントはHTML5やAIR、iPhoneAndroid等のリッチクライアントで(実際に実装したのはAIRとiPhoneです)、SQLite等の小規模RDB(以下、Smalltable)をローカルに持つことが前提 Smalltableは、Datastoreが保持するすべてのデータのうち、そのユーザーが常時使用するデータのみ保持するサブセット アプリケーションの大半のロジックをリッチクライアント内のSmalltableだけで実装する すべてのレコードにはク

    BigtableとSmalltable - スティルハウスの書庫の書庫
    teppeis
    teppeis 2010/10/17
    サーバーDBとクライアントDBの動機
  • 1