以下の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-29808.htmlより取得しました。


IT業界のやる夫さん 第35回 「できません」シリーズ

目次 現行スレ

842 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:33:11 ID:30853ee1


035.「できません」シリーズ




「できません」   


    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   ,rエエェ、  .::::::|
   \  ヽr-rヲ .:::::/      +
,,.....イ.ヽ`ー `ニ´ ―ノ゙-、   営業二課の時だけ、次長と課長の判断がぶつかったときは次長優先にして欲しいんだけど
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |  ウチ、二課だけ入社時期と派閥の都合で次長の方が強くてさ。
    >   ヽ. ハ  |   ||
   





843 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:33:22 ID:30853ee1


     ____
   /      \
  /  ─    ─\
/    (●)  (●) \   できるけど、そんな局所的な条件分岐を入れたら保守できなくなるお。
|       (__人__)    |
./     ∩ノ ⊃  /
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /



   / ̄ ̄\
 /   _ノ  \
 |    ( ー)(ー)
. |     (__人__)   ばれたときに某社の面倒くさい政治に巻き込まれたら嫌だな
  |     ` ⌒´ノ
.  |       nl^l^l
.  ヽ      |   ノ
   ヽ    ヽ く
   /     ヽ \


844 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:33:32 ID:30853ee1

          ____
        /     \
      / ―   ― \
     /   (●)  (●)   \   回答しますね。「できません」
     |         '         |
    \       ̄     /
     ノ           \


845 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:33:42 ID:30853ee1

「できません」  



    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::| +
   \  `ニニ´  .:::::/     +  一案件の取引額が総額26億円を越えたあたりで落ちるんだけど直せない?(リリース前のテスト中)
,,.....イ.ヽヽ、ニ__ ーーノ゙-、
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   || 




846 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:33:52 ID:30853ee1

       ____
      /     \
    /  \   / \
  /  (●)  (●)  \
 |       __´___       |   intをunsigned int かlongにすれば行けますね。
 \      `ー'´    /
 /     ∩ノ ⊃   /
 (  \ / _ノ |  |
. \ “  /__|  |
   \ /___ /





   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)   やるならdoubleで統一だな。
. |     (__人__)
  |     ` ⌒´ノ   ただ、引き回してる箇所が多いな。 テストやり直しだぞこれ。
.  |         }
.  ヽ        }
   ヽ     ノ  mm
   /    ̄ ̄ ̄ つノ
   |    | ̄ ̄ ̄


847 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:34:02 ID:30853ee1

          ____
        /     \
      / \   / \   回答します。
     /   (●)  (●)  \
     |      __´___     |  「このテスト期間ではできません。その取引ケースへの対応が必要でしたらプラス1ヶ月もらえませんか?」
    \      `ー'´    /


848 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:34:12 ID:30853ee1

「できません」   




    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|    一案件の取引額が総額26億円越えたあたりで落ちるんだけど直せない?(8年運用したシステム)   
.   |   ´トェェェイ`  .::::::| +
   \  |,r-r-|  .::::/     +
,,.....イ.ヽヽ、`ニニ´ーノ゙-、.        /^)
:   |  '; \_____ ノ.| ヽ iヽ __ ‐┘(
    |  \/゙(__)\,|  i |´⌒ )二  ト、



850 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:34:23 ID:30853ee1

            -‐ '´ ̄ ̄`ヽ、
            / /" `ヽ ヽ  \
        //, '/     ヽハ  、 ヽ
        〃 {_{ ⌒   ⌒ リ| l │ i|     数値型の精度が足りてないお。
        レ!小l( ●) (●)从 |、i|
         レ⊂⊃ 、_,、_, ⊂⊃ |ノ /     longとかdoubleとかに変えられるかっつー話だおね。
    / ̄旦 ̄ ̄`ー-=-一´  ̄ ̄ ̄ ̄ ̄/ヽ
   /_______________/ ※ヽ
  ./※ ※ ※ ※ ※ ※ ※ ※ ※ ハ※ ※ヽ
 /  ※ ※ ※ ※ ※ ※ ※ ※ ※ ハ※ ※ヽ
./ ※ ※ ※ ※ ※ ※ ※ ※ ※ ※ ハ※ ※ヽ



        ____
       /    \       DBのカラムの型変換もいるお。
.    /          \
.  /    ―   ー  \   このデータ量だと、テーブル1個のalter tableにだいたい1日かかるからなぁ。
  |    (●)  (●)  |
.  \    (__人__)  /
.   ノ    ` ⌒´   \
 /´             ヽ



      / ̄ ̄ ̄\      それやる場合かなりかかりますよ。
    / _,ノ  ⌒ \
   /  (●)  (●) \   物理DB分かれてるのを平行処理して残業しまくっても最低停止4日、余裕見て入れ換えだけで8日。
  |       、 ´      |
  \      ̄ ̄    /    その後で過去の全データに関して同様に処理できるようテストですね。
   ノ           \


851 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:34:33 ID:30853ee1

      / ̄ ̄ ̄\
    / _,ノ  ⌒ \
   /  (●)  (●) \   コードの対応で2ヶ月、データのコピーしてテストと対応で2ヶ月。そのあと停止8~16日。できるけど無理ですね。
  |       、 ´      |
  \      ̄ ̄    /
   ノ           \



   / ̄ ̄\
  / _ノ  ヽ、_ \
. | ( ●)(● ) |
. |  (__人__)  │
  |   `⌒ ´   |
.  |           |   だな
.  ヽ       /
   ヽ      /
   >     <
   |      |
    |      |


852 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:34:43 ID:30853ee1

       ____
      /     \
    /  \   / \
  /  (●)  (●)  \
 |       __´___       |   半月営業を止めろとは言えませんね、回答します。「できません」
 \      `ー'´    /
 /     ∩ノ ⊃   /
 (  \ / _ノ |  |
. \ “  /__|  |
   \ /___ /


853 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:34:53 ID:30853ee1

「できません」   



    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   `-=ニ=- ' .:::::::| +
   \  `ニニ´  .:::::/     +  36人で同時に使おうとすると10人くらいが接続エラーになるんだけど、何とかして 
,,.....イ.ヽヽ、ニ__ ーーノ゙-、
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||




854 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:35:03 ID:30853ee1


   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ   これ、根本的に処理速度足りてないな
.  |         }
.  ヽ        }
   ヽ     ノ
   .>    <
   |     |
    |     |



           ___
           /⌒ ー、\
          /( ●)  (●)\   APIのサーバがクラスタリングしてる状態で、データ保護のために Redis使ってMutex Lock 取って
.      /::::::⌒(__人__)⌒::::::\
  cー、   |     |r┬-/ '      |⌒,一っ    処理分類ごとにシステム全体でシングルスレッド化してるから...。
 ,へ λ \    `ー‐'      / 入  へ、   
<<</ヽ                     /\>>>


855 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:35:13 ID:30853ee1

        ____
       /      \
     / ⌒    ⌒ \
    /   (●)  (<)  \
    |      ___'___     |   タイムアウトを長くするか、Mutex LockじゃなくてDBのトランザクションで排他すればワンチャン?
     \     ` n´   ,/
    /     | |    \
..         ノ .ュ
         { ..ニj
        . | "ツ



     ____
   /      \
  /  ─    ─\  
/    (●)  (●) \   RAS側のタイムアウトがあるから、これ以上こっちのタイムアウトは長くできないお。
|       (__人__)    |
./     ∩ノ ⊃  /    水平分割してない適当なテーブルに対してselect for updateかけてDBのトランザクション使って強引に交通整理するお?
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /




   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ   よし、やってみようぜ
.  |         }
.  ヽ        }
   ヽ     ノ  mm
   /    ̄ ̄ ̄ つノ
   |    | ̄ ̄ ̄


856 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:35:24 ID:30853ee1

翌日   




   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)
. |     (__人__)
  |     ` ⌒´ノ   ダメだな。トランザクションで交通整理はできるが、XAとの相性が悪い
.  |         }
.  ヽ        }
   ヽ     ノ  mm
   /    ̄ ̄ ̄ つノ
   |    | ̄ ̄ ̄




           ___
           /⌒ ー、\
          /( ●)  (●)\   そのトランザクション張った時点でそのテーブルに関しては問題ないんだけど、
.      /::::::⌒(__人__)⌒::::::\
  cー、   |     |r┬-/ '      |⌒,一っ    複数DBにまたがったデータとの整合の問題が担保できないおね。
 ,へ λ \    `ー‐'      / 入  へ、
<<</ヽ                     /\>>>




          ____
        /     \
      / \   ノ  \
     /   (●)  (●)  \   同時に関連する全DBに同一スコープのトランザクション張れれば話は違うんでしょうが...。
    |       ,-、      |
    \      '⌒`    /
     ノ           \


857 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:35:34 ID:30853ee1
               ____
             /      \
           / ─    ─ \
          /   (●)  (●)  \   これがRedshiftみたいにリーダーノードが全部制御してて
            |      (__人__)     |
          \     `⌒´    ,/    コンピューティングノードとスライスを増やして処理能力を上げる形式なら何とかなったんだけどなぁ。
          /     ー‐    \



      / ̄ ̄\
    /  ヽ、_  \
   (●)(● )   |
   (__人__)     |
   (          |   ウチはAuroraを複数用意して水平分割でシャーディングしつつ
.   {          |
   ⊂ ヽ∩     く    APIサーバ側のMySQLドライバでXAの制御してっからなぁ。
    | '、_ \ /  )
    |  |_\  “ ./
    ヽ、 __\_/


858 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:35:44 ID:30853ee1


..     ____
    / ―  -\
..  /  (●)  (●)
 /     (__人__) \   インスタンスをm4.xlargeからc5.16xlargeあたりに上げてサーバの処理能力で押しきればワンチャン。
 |       ` ⌒´   |
. \           /
.  ノ         \
/´            ヽ



      / ̄ ̄\
    /  ヽ、_  \
   (●)(● )   |
   (__人__)     |
   (          |   それ汎用とCPU特化の違いを除けば増えるのメモリとコア数じゃねーか。目に見えるほど速くなんねーよ。
.   {          |
   ⊂ ヽ∩     く    おまけにサーバ費用が20倍くらいになるぞ
    | '、_ \ /  )
    |  |_\  “ ./
    ヽ、 __\_/


859 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:35:54 ID:30853ee1

        ___
       /     \
     / ⌒   ⌒ \
    /  (⌒)  (⌒)  \   システム全部作り直す勢いでやらなきゃ無理ですね。回答しますね。「できません」
    |     ___´___     |
    ヽ、   `ー '´   /
     ノ          \


860 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:36:04 ID:30853ee1

「できません」   



    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|        ウチのサイトにアクセスしてボタンをポチってやると、Windowsのログイン画面でウチのIDが使えて
.   |   `-=ニ=- ' .:::::::| +
   \  `ニニ´  .:::::/     +  ウチのメッセージシステムの未読とかウチからのお知らせが出せるようにしてよ。
,,.....イ.ヽヽ、ニ__ ーーノ゙-、
:   |  '; \_____ ノ.| ヽ i       あと、ウチのIDでWindowsにログインしたらMicrosoft Updateで無理矢理再起動されたりしないようにして。
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||      ウチのID使えば強制再起動されない!すっごいに売りになるでしょ




          ____
        /     \
      / ⌒   ⌒ \
    /   (●)  (●)  \   できません。
     |      __´___     |
    \      `ー'´    /
     ノ           \


861 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:36:14 ID:30853ee1


    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   ,rエエェ、  .::::::|
   \  ヽr-rヲ .:::::/      +
,,.....イ.ヽ`ー `ニ´ ―ノ゙-、   なんでそういうこと言うの。やってみないと分からないでしょ、まずは検討してよ   
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |  
    >   ヽ. ハ  |   ||



          ____
        /     \
      / ―   ― \
     /   (●)  (●)   \   いや、それMicrosoftの領域で僕らは手が出せませんって
     |         '         |
    \       ̄     /    (WindowsXPとか2008Serverまでなら何とかなったかもしれないけど……)
     ノ           \


862 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:36:25 ID:30853ee1


    /\___/ヽ
   /''''''   '''''':::::::\
.   |(●),   、(●)、.:| +
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   ,rエエェ、  .::::::|
   \  ヽr-rヲ .:::::/      +
,,.....イ.ヽ`ー `ニ´ ―ノ゙-、   なら交渉しなよ、Microsoftと!それがプロってもんでしょ!   
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |  
    >   ヽ. ハ  |   ||



        ____
       /      \
     / ⌒    ⌒ \
    /   (●)  (<)  \
    |      ___'___     |   じゃぁ御社で交渉して勝ち取れたらまた連絡ください。
     \     ` n´   ,/
    /     | |    \
..         ノ .ュ
         { ..ニj
        . | "ツ


863 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:36:35 ID:30853ee1
以上、まずは電車の中でト書きを作れた範囲だけ投げてみました。
雰囲気だけ分かれば通じるだろうって範囲で遠慮なく専門用語使っちゃってますけど、大丈夫ですかね……。

他にも、できるけど副作用が出るパターン、他の機能との排他になるパターン、今の使い方の延長なら出来るんだけど
絶対違う使い方も始めたうえでそっちで文句いってきそうだから自衛のためにできないと言うパターン、
予算の都合のパターン、人員の都合のパターン、会社がこの案件から撤退したいから嘘つくパターン、などありますね。

864 : ◆NkPwUyO9zc : 2019/02/23(Sat) 23:39:10 ID:30853ee1
今回、「できない」ケースだけ書きましたけど、当然この中には、現実的に折り合いがつくならやるべきなモノも混ざっています。
よく考えたら、8年運用してるシステムで1案件の取引額が26億円超えたら動かなくなる件とか、
同時に36人で使おうとしたら処理能力不足でさばけない件とかは、多少無理してでも対応すべき話でしたね。
まぁ、あんましツッコまないでください。「できません」がテーマなので「できない」って回答する前提でト書きを作ってたので……。

865 : 普通のやる夫さん : 2019/02/24(Sun) 00:38:02 ID:3e9222de

流石に36人で~の話は半分もわからなかったけど雰囲気は理解できて面白かった

関連記事



以上の内容はhttps://yaruonichijou.blog.fc2.com/blog-entry-29808.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.13