タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaとDBとperformanceに関するraimon49のブックマーク (8)

  • PayPayカード、メインフレームの基幹システムをAWSに移行--業界で前例なき規模

    2015年にソフトバンクグループとなってからビジネスが大きく変わり、「『ネット屋の金融を目指す』というトップのビジョンの基でIT戦略も大きく変化した。あまり表明していないが、ITを大手ベンダーに丸投げせず自社でコントロールできるようにし、『ネット屋の金融』らしいプロダクトファーストな新しい金融サービスを目指すようになった。社内エンジニアでもシステム内部はベンダーにしか分からない状態で、エンジニアがものづくりに取り組むためにもシステム内部を理解していることが必要だった」(信太氏)という。 上述の経緯から同社の基幹システムは長年メインフレームで運用されてきたが、ビジネスが変わったことでモダナイズ(最新化)の必要性が高まり、まず2016年頃からアプリケーションを「COBOL」から「Java」に書き換える(リライト)改修を行った。このリライト作業は容易ではなく、「当時の担当者が既におらずドキュメン

    PayPayカード、メインフレームの基幹システムをAWSに移行--業界で前例なき規模
    raimon49
    raimon49 2023/04/22
    マルチAZ構成だと決済処理が10倍近く遅延するから許容できなかったのか。楽天KCから分離されてSB系に収まってるPayPayカードって会社の流れも何だか面白い。
  • JITとコードの暖気の実体 - #chiroito ’s blog

    どうも、趣味でOpenJDKのコミッタをしてます。 とあるブログを読んでいたら気になる点があったので検証してみました。 JITと暖気 Javaプロセスはアプリケーションを動かしながら必要に応じてバックグラウンドでバイトコードをネイティブコードにコンパイルします。このコンパイル時にはCPUリソースを使用します。 コンパイルにはいくつかのレベルがありますが、コンパイルされる前やレベルの低いコンパイルのコードはCPUのリソース効率が悪かったり、アプリケーションの処理中にコンパイルが実行されるとCPUリソースを奪いあったりなどが問題になります。 そのため、Java のアプリケーションで性能を気にする要件がある場合、番に近いリクエストを投げてコードをJITコンパイルする事があります。これをよく暖気と言います。これにより番のリクエストが来る前にコードを最適化し、よりCPUリソース効率の高いコードで

    JITとコードの暖気の実体 - #chiroito ’s blog
    raimon49
    raimon49 2020/09/19
    Spring Boot + JPAでの検証例。勝手に持っていたイメージよりもアプリケーション全体のコンパイルは遅い。暖気運転してからReadiness ProbeでOKを返すって運用していなかったから気付きのある記事だった。
  • なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察 - ブログなんだよもん

    そもそも既存はどんなロジック? RDBなんだからWhere句使ったら? なぜファイルにすると速くなるのか? 並列化と分散処理による高速化の可能性 COBOL使う必要あったの? Javaとかじゃダメだったの? まとめ TLを見てると以下の記事が少し話題になってました。 tech.nikkeibp.co.jp tech.nikkeibp.co.jp 対象の記事は有料会員じゃないと見れないのだけど事例としては以下みたい。 リソース - ユーザー事例 - COBOL製品 ユーザー事例 : マイクロフォーカス さて、この記事の驚きポイントは「1億レコードくらいのDB処理をRDBからCOBOL + CSVに変更してUnixサーバからWindowsサーバに変える事で性能を維持しつつコストを1/5くらいにした」という事でしょう。 「せっかく7割もあったSQLを全部COBOLに変えるとか時代に逆行しすぎ!」

    なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察 - ブログなんだよもん
    raimon49
    raimon49 2019/06/18
    真面目な考察。ためになる。
  • 我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H

    我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
    raimon49
    raimon49 2018/10/17
    Entityキャッシュの罠。失敗の共有とても大事だ。
  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
    raimon49
    raimon49 2017/12/09
    よく調べたなぁ。すごい。
  • Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita

    1ワールドで済ますというチャレンジ Nianticの求人を見ていて、凄く驚いたのは、「Software Engineer - Server Infrastructure」での次の項目。 all on a single, coherent world-wide instance shared by millions of users. 対訳 全ての(アクション)は、数百万のユーザーに共有された単一の一貫した(サーバ群で行われる) つまり、ポケモンGOは1ワールドで構成されている。MMOのサーバを作ったことがある人なら5それがどんなに大変かピンとくるだろう。特に、ポケモンGOの様に一日に数百万人とかが遊ぶゲームで、1ワールドでゲーム世界を構築するのは、結構大変だ。6 MMOで1ワールドがなぜ大変か(データストレージとの戦い) MMOの様なオンラインゲームで、1ワールドがなぜ大変かを図示する。

    Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita
    raimon49
    raimon49 2016/09/22
    1ワールド構成の考察。
  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
    raimon49
    raimon49 2015/06/30
    C/S型のRDBMSは、元々小数のクライアントとステートフルな通信を行うために設計されてきたが故の、DBコネクション永続化の必要性と分類について。
  • 次世代モバイル向けデータベースRealmを使ってみる-Realm Tech Talkに行ってみた!-

    ■ Why? セッションではまず Realm とは何か、そしてなぜ作ったのか、というところから始まった。JP氏曰く「サーバサイドのデータベースは様々なイノベーションがあったにも関わらず、モバイルデバイス環境では2000年に登場したSQLite以降何もない」とのこと。そのSQLiteを置き換えるものとして作ったのだと言う。 Realm自体は既存のデータベースエンジンを単にバインディングしたものではなく、ゼロベースで作り出された独自のエンジンを内部に持っている。RealmはそのエンジンをObjective-CやSwiftAndroid Java から容易に使用できるようにラッパーしたもの。JP氏によるとバインディング部分のほぼ全てはオープンソースで公開されておりエンジン部分も将来において公開する準備があるとのこと。 ■ ベンチマーク また、競合となるO/Rマッパーとのベンチマーク比較も公開さ

    次世代モバイル向けデータベースRealmを使ってみる-Realm Tech Talkに行ってみた!-
    raimon49
    raimon49 2015/03/26
    CoreaDataよりも速い。
  • 1