Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...
リアクティブプログラミングは、「時間とともに変化する値」=「振る舞い」同士の関係性を記述することでプログラミングを行うパラダイムです。 GUIなどのようにインタラクティブなシステムや、シミュレーションやアニメーションのようにダイナミックに状態が変化するようなシステムを宣言的に記述することができます。 これらの「変化する状態」や「外部とのやりとり」が支配的なシステムは、純粋関数型言語が、その強みを発揮しにくい部分でもあります。 本稿では、リアクティブプログラミングが副作用を含む系を宣言的に記述することを可能にし、状態の管理という厄介な問題からプログラマを開放する可能性があることを示したいと思います。 (割と独自研究に基づく解釈ばかりなのでその点ご了承ください。あと例としてでてくるコードは、Pythonベースの擬似コードで具体的なライブラリに基づくものではありません。) Why Reactiv
Facebookが新しいサービス「Messages」の基盤として、NoSQLデータベースの「HBase」を選択したことを、先日の記事「Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった」で紹介しました。 HBaseは、Facebookによると次のような特徴を備えていると説明されてます。 負荷に対して非常に高いスケーラビリティと性能を発揮 CassandraよりもシンプルなConsistency Model(一貫性モデル)を備えている 自動ロードバランス、フェイルオーバー、圧縮機能 サーバーごとに数十個のシャードを割り当て可能、などなど このHBaseはどのようなデータベースなのでしょうか? 情報を集めてみました。 HBase入門のプレゼンテーション 最初に紹介するのは「HBaseエバンジェリスト」Tatsuya Kawano氏のプレゼン
Wikipediaといえば世界で第5位の訪問者数を誇る巨大サイトですが、システム運営に携わる人間は世界でわずか6人、しかもこれはボランティア込みという恐るべき少人数で、第4位のFacebookのサーバ数が3万台を超えているのに対して、Wikipediaはわずか350台で運用している……などというような感じで、知られざる今のWikipediaの実態が「KOF2010」にて本日行われた講演「Wikipedia / MediaWiki におけるシステム運用」で明かされました。 登壇したのはWikipediaを運営するWikimedia財団のエンジニアであるRyan Lane氏で、100席ある座席は満席になり、隣の中継の部屋まで人があふれているほどの盛況っぷりで、語られる内容もなかなか参考になることが多く、今後のGIGAZINEサーバにも活かせそうな内容でした。 というわけで、「Wikipedia
appengine ja night11で紹介した裏技1について、もうちょっときちんと測定した結果を書いときます。 limit無し測定で使ったプログラム List<Key> keys = null; log.info("log 0."); keys = Datastore.query(getMeta()).query().asKeyList(); log.info("limit無し. :" + keys.size()); limit有り測定で使ったプログラム List<Key> keys = null; log.info("log 0."); keys = Datastore.query(getMeta()).query().limit(110000).asKeyList(); log.info("limitあり. :" + keys.size()); データ件数100,450件での測定結
大規模分散処理のフレームワークとしてグーグルが開発したMapReduce処理や、そのオープンソース実装であるHadoopが急成長し、ビジネスの分野での商業利用が立ち上がり始めていることは、Publickeyでも何度か記事で紹介してきました。 Hadoopを表計算のように使える「InfoSphere BigInsights」、IBMが発表 グーグルによるMapReduceサービス「BigQuery」が登場。SQLライクな命令で大規模データ操作 Hadoopは企業のための新たな情報分析プラットフォームとなる、とCloudera グーグルがBigQueryの開始を発表し、IBMも大規模処理のエンジンとしてHadoopを採用、AmazonクラウドでもHadoop処理を行う「Amazon Elastic MapReduce」サービスを提供していることから分かるように、Hadoopはクラウドでの大規模
この記事は、Arin Sarkissian氏のブログ記事「http://arin.me/blog/wtf-is-a-supercolumn-cassandra-data-model」を氏の許可を得て翻訳したものです。(原文公開日:2009年9月1日) ここ1、2ヶ月というもの、DiggのエンジニアリングチームはCassandraについて調べ、遊び、最終的にはプロダクションにデプロイするためにかなりの時間を費やしてきました。これは実に楽しいプロジェクトでしたが、楽しくなる前にCassandraのデータモデルについて理解するために相当の時間を費やしたのです。「'super column'って何だよ」というフレーズが何度も口にされました。 もしあなたのバックグラウンドがRDBMSならば(ほとんどみんながそうでしょうが)、Cassandraのデータモデルについて学ぶ際に、いくつかのネーミング規約で
こんにちは。開発部最後の良心、mikioです。今回はLua処理系の並列化とそこでのKyoto Cabinetの利用法についてご紹介します。 サーバサイドスクリプティングといえばLua Kyoto CabinetのLuaバインディングは後回しにしてKyoto Tyrant的なサーバの設計を進めていたのですが、やはりそのサーバにもスクリプティング機能を持たせたくなりました。つまり、サーバがデフォルトで提供する機能群だけでなく、ユーザがスクリプト言語で記述した任意の機能を追加して利用できるようにするということです。 Tokyo TyrantではLua拡張と呼ばれる機能を用いてそれを実現しています。サーバの起動時にLuaのスクリプトを記述したファイルを読み込ませて、そこで定義した関数をリモートから呼び出せるようにしています。そこで実行されるLuaの処理系にはTTが管理するデータベースを操作するため
こっちは本物のMapReduceだ! グーグルがAppEngine-MapReduceをオープンソースで開発中 グーグルはGoogle App Engine上でMapReduce処理を実現するオープンソースを開発中だと、先日行われたイベントGoogle I/Oで明らかにしています。プロジェクトのホームページもGoogle Code上に「appengine-mapreduce - Project Hosting on Google Code」として公開されています。 Reduce処理やJava版はこれから 1つ前の記事「グーグルによるMapReduceサービス「BigQuery」が登場。SQLライクな命令で大規模データ操作」では、グーグルがSQLライクな命令を用いて大規模データ処理のサービスを提供することをお伝えしました。 記事でも書いたとおり、これは内部でMapReduceを使っているかど
http://d.hatena.ne.jp/shokai/20100220/1266646461 をgearmanで並列化した upload-worker.rb #!/usr/bin/env ruby require 'rubygems' require 'gearman' require 'aws/s3' BUCKET = "your-bucket-name" GEAR_TASK = 'upload-awss3' if ARGV.size > 0 (ARGV.first.to_i-1).times do pid = fork break if !pid puts "fork pid:#{pid}" end end AWS::S3::Base.establish_connection!(:access_key_id => "your-key", :secret_access_key =>
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSazuredayit
まず、 1 の入力ファイルを分割する方法は、InputFormatクラスの、getSplits関数を上書きすることで、カスタマイズできます。 また、 3 のInputSplitから、KeyとValueを抽出する処理も、InputFormatクラスを通じてカスタマイズできます。 InputFormatのgetRecordReader関数を通じて、RecordReaderクラスを生成するのですが、これに任意のRecordReaderクラスを指定すればOKです。 2 のMap処理ですが、ユーザが指定したMapperクラスの処理を実行します。 Mapperクラスは、MapRunnerクラスを通じて、初期化処理、map関数を繰り返す過程、終了処理といった一連の流れを実行します。 MapRunnerクラスをカスタマイズすれば、こうした流れを制御することができます。 0.20.0からの新しいMapRed
分散Key-Valueストア kumofs を、本日オープンソースソフトウェアとしてリリースしました! kumofs@SourceForge kumofs関連資料まとめ kumofsとは? kumofs(クモエフエス)は、実用性を重視した分散データストアです。レプリケーション機能を備え、一部のサーバーに障害が発生しても動作し続けます。単体でも高い性能を持ちながら、サーバーを追加することで読み・書き両方の性能が向上する特徴を持ち、低コストで極めて高速なストレージシステムを構築・運用できます。 kumofsの大きな特徴は、システムの構成の簡単に変更できる点です。システムを止めることなく、簡単な手順でサーバーを追加したり復旧したりできます。アプリケーションには一切影響を与えません。 またkumofsは、広く利用されている分散キャッシュシステムの「memcached」と互換性のあるプロトコルを実装
2010/01/15 米アマゾン傘下のAmazon Web Servicesは1月14日、クラウドコンピューティング上でシステム構築を行う場合のベスト・プラクティスをまとめた「Architecting for the Cloud: Best Practices」を公表した。 これまでにも同社は、AWSのサービスを組み合わせてスケーラビリティや可用性を実現する事例を紹介したり、具体的なサービスの組み合わせ方などを解説する文書を公開してきた。今回新たに公開されたホワイト・ペーパーは、こうした解説の集大成と言えるもので、自社だけでなくマイクロソフトやIBM、グーグルが公開しているホワイト・ペーパーも参照している。 20ページの英文PDFはクラウド一般のメリットや特徴から説き起こし、AWSの各サービスの簡単な解説を続けた後に、クラウドの各種の特性を最大限に引き出すシステムについて、一般論としての概
Presented by Volker Mische at the FOSS4G 2009 in Sydney. You may want to download the slides as PDF or watch the slides with audio (the recording of the actual talk at the conference). Hi, this talk is about geodata and CouchDB. In order to understand why CouchDB is great for geodata, you need to understand how CouchDB works. Forget everything what you know about relational databases. CouchDB is d
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く