タグ

ブックマーク / okachimachiorz.hatenablog.com (14)

  • 本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道

    前提 前提ですが。 transaction=Consistency/Isolationを担保する仕組みの話とする。 一般にtransactionが持つべき属性はACIDと言われる。C/Iに比べて、A/Dが“わかりやすい”のでAtomic/Durableの属性の方が人口に膾炙しているが、現在のtransactionではA/Dネタはあまり話題にならない。A/Dネタはローカルだけで見るのであれば普通にfile system /storageの話になる。元来Atomic/Durableはtransactionのコンテクストでは専らlogging / recoveryの話だった。そして、これは非同期のepoch-basedになるとそれ自体の取り扱い優先度が下がる。現代的なtransactionでは、「現時点ではread committedが保証されているFS/storageでA/Dの問題は(ある程度

    本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道
    uokada
    uokada 2022/01/02
  • いわゆる仕様と業務例外について - 急がば回れ、選ぶなら近道

    最近とにかく、移動が多いので、その中でちょいちょい考えたことをまとめておきます。まずは仕様の理解の仕方とか、業務例外とか、押さえておきましょうという視点から。別にこれが正解で必須というわけではないので、あくまで個人の経験をまとめただけです。 モデリングとか、なんというかそういう高尚な話ではなくて、実際に仕様をまとめるときに、現実的に落ちる穴を、経験的に書きます。大抵のプロジェクトでは、仕様が固まらずに、または手戻りが発生して酷くコストが膨らむということがやはり多いわけで。理屈はともかく自分の経験的な対策案です。 (なんというか、開発方法論や手法・ドキュメントのまとめ方は、なんとかBOKから始まって、アジャイルや押しくらまんじゅうやらでいくらでもであるのですが、その一方で丁寧な要求定義や設計それ自体ができる人材は、むしろ急激に減っているような印象すら受けます。海外からの翻訳や輸入はやたらと多

    いわゆる仕様と業務例外について - 急がば回れ、選ぶなら近道
    uokada
    uokada 2017/10/23
  • multi-versionの基礎 - 急がば回れ、選ぶなら近道

    multiversionの基礎 自分用のMulti Version Concurrency Controlのまとめ MVCCの基礎理論をまとめておく。今後はここを参照する。 基的にTXとCCから必要な部分をまとめている。 (一回まとめてるけど、Multi-version Conflict Serializability - 急がば回れ、選ぶなら近道 前回はそもそもCSRとの混線を防ぐという意味だったので、今回はもっと基的なところからさらに。今回はCSRとの関係はガン無視。) 前置き:自分の考えを記録的に 基的にMulti Version Concurrency Control (以下MVCC)は理論先行だった。これはMVCCのオーバへードがsingle-versionのパフォーマンスを凌駕できなかったことによる。以下の理由によりMVCCが今後は伸張すると考えている。 1.メモリー

    multi-versionの基礎 - 急がば回れ、選ぶなら近道
  • 「ソフトウェアの時代」について - 急がば回れ、選ぶなら近道

    まぁなんか適当に思うことを。 ■ハードの限界の露呈 ムーアの法則の限界はITのあり方を根から変えると思う。この四半世紀、ITの現場レベルでは「困ったらハード増強」が一つの基政策であったことは間違いない。ハードウェアの進歩は結果として、IT全体のパフォーマンスを上げ、結果として社会における有用性を増した。その一方でハードウェアの高進はソフトウェアの進化を止めていた側面は確かにある。 ソフトウェアのレイヤー、とくにミドルレイヤー〜アプリケーションのレイヤーでは、通信にしろ、分散処理にしろ、DBにしろ、OSにしろ、「業界全体としてトコトンできるレベルまでやったのか?」という意味では、実際はやっていないと思う。もちろん、各セグメントではそれなりに追求はしたけど、ドカドカ、金突っ込んで全部ひっくり返すというまでには至っていない。これはIT全体に言えることだけど、ソフトウェアにコストをかけるよりも

    「ソフトウェアの時代」について - 急がば回れ、選ぶなら近道
  • SILO再考〜次世代DBのアーキテクチャとして - 急がば回れ、選ぶなら近道

    大分たってしまったけど、ようやく時間が空いたので、db tech showcase Tokyo 2016 http://enterprisezine.jp/dbonline/detail/8466 で話した内容を記録的に書いておく。あとはSILOの解説を特に自分用に論文の4章を中心に整理しておく。あとはついでに自分の思うところも記す。 ・SILO 元論文はこちら、執筆陣はMITのLiskov一派とEddie Kohler 現在のDB研究の第一線のメンバー。 http://people.csail.mit.edu/stephentu/papers/silo.pdf SILO以降、大きくDBベースのアーキテクチャの考え方は変わりました。ほとんど全ての分散系OLTPはSILOを程度の大小はあるとはいえ、意識していると言っても過言ではないでしょう。前世代ではほぼ「空想か?」ぐらいの扱いだった分散t

    SILO再考〜次世代DBのアーキテクチャとして - 急がば回れ、選ぶなら近道
  • なんでもかんでもクラウドにあげるのか? - 急がば回れ、選ぶなら近道

    某エントリーの話で、「なんでもかんでもクラウド化なのか?」というお話もご意見も多数頂戴いたしまして。一応念押しですが、そういうつもりはまったくないですよ。以下、個人的な補足メモです。会社の意見ではありません。一応、会社の公式声明は「できるものは、とっとクラウド化したほうがいいですよ。」です。 クラウド化の是非については、いろいろあるでしょう。ユーザーの所属する産業毎にシステムのあり方・考え方は違うでしょうし、当然クラウド化すべきだという意見や、いやそもそも無理があるという意見もあると思います。ただ、今までのように先例がないから無理、という理屈は通用しなくなっているのが現状でしょう。その意味では無茶な理屈ではなく、普通に選択肢としてクラウド化が候補になっている、と思います。その上で、クラウド化しない、するという議論が普通にできる状態になりつつあると思います。 そんな中でいろいろ思うところをち

    なんでもかんでもクラウドにあげるのか? - 急がば回れ、選ぶなら近道
    uokada
    uokada 2013/05/27
    "AWSはプロダクトであって、サービスではないです。高速で走る車は提供されますが、ドライバーは提供されません。自分で運転することが前提です。つまり、運転免許ぐらいとっておきなさいよ、ということです。"
  • Hadoop Conference Japan 2013で話したことと思ったこと - 急がば回れ、選ぶなら近道

    Hadoop Conference Japan 2013 http://hcj2013w.eventbrite.com/ 先週終了。かなりの盛況で終わった感じです。まずは開催をサポートして頂き、相当の負担まで頂いたリクルート・テクノロジー様に感謝申し上げます。どうもありがとうございました。 さて、えっと、前回がそもそもいつだったのか、良く覚えてないわけで。2011 Fallだったような。 http://hadoop-conference-japan-2011-fall.eventbrite.com/ 2011年の9月なので、1年4ヶ月ぶりという感じですね。Track数が増えて2から3で、会場もベルサールからビッグサイトになっていました。人数も1000人超になっております。 以下、感想文です。記録としておいておく感じで。 ・内容で印象に残ったもの ・HBase~LINEのバックボーンで使って

    Hadoop Conference Japan 2013で話したことと思ったこと - 急がば回れ、選ぶなら近道
    uokada
    uokada 2013/01/27
  • バッチ処理を再考する - 急がば回れ、選ぶなら近道

    最近そもそもバッチ処理というものを知らない人達を見ることが多くなりました。某プロジェクトで「いや、ストプロってよくわからないんですよ。最近書いたことないし。」という話をずーっと聞いていたのですが、人はバッチ処理という意味で話していたことが後から判明した、ということがありました。 ああ、この人はSQLでのバッチ処理しか知らないのですね、とちょっと衝撃ではありました。とうとうそーゆー時代になったかと。 まず、誤解のないようにいうとバッチ処理、という言葉自体はIT固有のものではないです。生産管理や物流や、そういった業務では普通に「バッチ」という言葉をIT以外で使います。ただし意味はある程度同じで、「一定の塊を一度に処理をする」ということです。物流システムの業務要件なんかを詰めているとバッチっていうと、どっちのこと?なんて普通に聞かれたりします。その意味ではバッチの対義語がリアルタイムというのは

    バッチ処理を再考する - 急がば回れ、選ぶなら近道
  • 設計と実装の狭間で - 急がば回れ、選ぶなら近道

    ・現状 ・・・相変わらず溝は埋まっていません。希望の星と目されたDSLは現時点ではかなりの不発弾に近い感じで、設計系クラスターはあまり元気がないですね。翻って見れば、設計と実装が最も近かった時代は、なんのことはなくて、自分も含めて(懐古趣味の老人を除いた)皆さんが毛嫌いするCOBOL+汎用機の時代だったかもしれないという意見すら出る惨状です。あの時代以降、 UMLが登場し、まさに銀の弾丸状態で、それ以降Unified Processやら何やらが、インフルエンザの如く流行りました。ま、その延長上に今のアジャイルまでの流れがあるわけですが、気がついてみれば、これほど設計と実装が離れてしまった時代もないという状態になってしまっています。・・・設計と実装の狭間は、相変わらず埋まっていない気がします。 ここへ来て、実装技術の多様化は、カンブリア紀を思わせる拡大の一途になっています。開発環境のみならず

    設計と実装の狭間で - 急がば回れ、選ぶなら近道
    uokada
    uokada 2012/11/11
  • 業務系エンジニアはどうしていくべきか? - 急がば回れ、選ぶなら近道

    まず超個人的な見解です。あとWeb系の人は関係ないので、そういう人は読んでも無駄です。ここでいう業務系エンジニアというのは、主にSI屋で特定企業向けのシステムを構築しているエンジニアの人たちをさします。 まず、非常に難しい時代になったと思います。 端的に、ちゃんとしたSIをやることが難しくなりました。まず、技術的には面倒なことが増えた、というかできるオプションが制御できないくらいに増えているので、うまく制限をしないとコードや仕組みが劣化する一方になりました。エンジニアリングに自由を!というのは聞こえはいいのですが、チームプレーをするのに、いちいち約束事決めないと回らないようになっているような気がします。それも毎回。始めるたびに。 別段、いきなりチームメンバーの能力があがったり、さがったりするわけではないのですが、なぜか外すと酷いことになる振れ幅が増大したような気がします。ルール決めをいちい

    業務系エンジニアはどうしていくべきか? - 急がば回れ、選ぶなら近道
    uokada
    uokada 2012/06/17
  • エンタープライズでOSSであるということ - 急がば回れ、選ぶなら近道

    エンタープライズのOSSについて こんなこと書くとOSSなモヒカンな人にぶん殴られるわけです。読み手の方で、自分はOSSを引っ張ってきたと自負されている方や組織のかたや、OSSは商用より無条件で優れていると思っている人は気分が悪くなるので、読まないでください。非常に個人的なメモですので。以下の考えは基的にソフトウェア・ビジネスとしての考えなので、自分で作って、自分で利用して、ムフフな人はあんまり考えてないので、そのつもりで読んでね。自分利用OSSはそれでいいと思うので、それでいいかと。 [まずAsakusaについて] まずAsakusaがなぜOSSかということを明確にしておきます。非常に単純です。Asakusaは様々な人の意見を集約してできています。これは別にNautilus-technologiesのメンバーというわけではなく、Hadoopコミュニティに参加した方の意見を相当取り入れて

    エンタープライズでOSSであるということ - 急がば回れ、選ぶなら近道
    uokada
    uokada 2012/04/08
  • SI屋さんとSIと、直近の課題について。 - 急がば回れ、選ぶなら近道

    某セッションでちょっとしゃべったことをつらつらと。SIの現状と近い将来について思うところをまとめておきます。自分自身の立ち位置も確認していくという意味で。 結論的にいうと、SI自体は必要とされていますが、SI屋さんのビジネスモデルは成立しないという状況になるので、旧来の「SI屋さんの方法」ではうまくいきません。なので、別のやり方でSIをどうやっていくか?という議論が必要になりますね、という話です。 まずSI事業は人月稼働で商売をしています。スタート地点はそうではなかったのですが、一旦大きな人数を抱えると、わせる必要があるため、より大きな仕事を取る羽目になります。要は稼働させる事、それ自体が目的になります。稼働を維持させる事で、収入を確保する事ができ、確保された収入で稼働のための人員を維持できる。そもそもそういう循環をベースに組織の目的が、「結果として」形成されてしまっています。 副作用と

    SI屋さんとSIと、直近の課題について。 - 急がば回れ、選ぶなら近道
    uokada
    uokada 2012/03/12
  • システムはどこまで内製化できるか - 急がば回れ、選ぶなら近道

    どこでも何回も何十回も言われているが、システムを経営の変化に対応させるにはある程度のシステムの開発を内製化すべきである、という論調が強い。この問題は、古くて新しい問題であり、と同時におそらく、いままでとは違うコンテクストで語られることになるような気がしている。ここ10数年の流れを見れば、内製化の議論はアウトソーシングの流れとそのより戻りの反復運動の繰り返しだといっていても過言ではなかったと思う。近年はむしろ、SI屋さんの全体的な弱体(特に技能として)化とクラウド等によるインフラの導入しやすさと相まって別の背景で語られることが多くなってきている。また、見逃せない背景としては、そもそもの就労可能若年層の減少と、若年層の総体数減少による能力のばらつきの顕在化も強くあげられる。特にシステム開発の供給サイドの問題は、エンドユーザーの内製化の議論においては、今までのコンテクストでは語られることがなかっ

    システムはどこまで内製化できるか - 急がば回れ、選ぶなら近道
    uokada
    uokada 2011/10/31
  • 何が必要なのか - 急がば回れ、選ぶなら近道

    ちょっと最近というか、ここ数年はというか、ここ10数年は、 常に強迫的に勉強せざるえない状況が続いておりまして、 まぁその辺の反省も踏まえて、 特に今後のIT屋さんとして何が必要ですか、 という点をまとめておく。 「マスターしておきたい技術」という感じです。 今は汎用機・オープン化に変化があった時期以上の転換期でもあり、 twitterのTL上の知り合いのほぼ8割強が ここ一年で転職するという異常事態になっています。 自分自身も現状の会社では満足に仕事ができないということで 会社を作ったという経緯もあり、 そんな中で、動く人たち「共通の仕様」みたいなものを感じます。 そんなこんなで、 要は、特に一線で活躍している技術者の人たちには、 共通のコモンセンスというのがあるな、 ということを良く思う訳です。 これは冷静に見ると、汎用機の時代からあまり変わってなくて、 つまり基礎(基ではないですよ

    何が必要なのか - 急がば回れ、選ぶなら近道
    uokada
    uokada 2011/08/01
  • 1