<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                如果你從頭一直做讀到了這,那么我對日志的理解你大部分都知道了。 這里再給一些有意思參考資料,你可以再去看看。 人們會用不同的術語描述同一事物,當你從數據庫系統到分布式系統、從各類企業級應用軟件到廣闊的開源世界查看資料時, 這會讓人有一些困惑。無論如何,在大方向上還是有一些共同之處。 學術論文、系統、討論和博客: * 關于[狀態機](http://www.cs.cornell.edu/fbs/publications/smsurvey.pdf%E2%80%8E)和[主備份](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.5896)復制的概述。 * [`PacificA`](http://research.microsoft.com/apps/pubs/default.aspx?id=66814)是實施微軟基于日志的分布式存儲系統的通用架構。 * [`Spanner`](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/spanner-osdi2012.pdf)?—— 并不是每個人都支持把邏輯時間用于他們的日志,`Google`最新的數據庫就嘗試使用物理時間,并通過把時間戳直接做為區間來直接建時鐘遷移的不確定性。 * [`Datanomic`](http://www.datomic.com/):[解構數據庫](https://www.youtube.com/watch?v=Cym4TZwTCNU)是*Rich Hickey*(`Clojure`的創建者)在它的首個數據庫產品中的重要陳述之一。 * [在消息傳遞系統中回滾恢復協議的調查](http://www.cs.utexas.edu/~lorenzo/papers/SurveyFinal.pdf)。 我發現這是有關容錯處理和通過日志在數據庫之外完成恢復的實際應用的很不錯的介紹。 * [反應式宣言(`Reactive Manifesto`)](http://www.reactivemanifesto.org/)?—— 我其實并不清楚反應式編程(`reactive programming`)的確切涵義,但是我想它和『事件驅動』指的是同一件事。 這個鏈接并沒有太多的訊息,但*Martin Odersky*(`Scala`名家)講授的[這個課程](https://www.coursera.org/course/reactive)是很有吸引力的。 * `Paxos`! 1. 原論文在[這里](http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf)。?*Leslie Lamport*?有一個有趣的歷史:在80年代算法是如何發現的,但是直到1998年才發表了,因為評審組不喜歡論文中的希臘寓言,而作者又不愿修改。 2. 甚至于論文發布以后,它還是不被人們理解。*Lamport*?再次嘗試,這次它包含了一些并不有趣的小細節,這些細節是關于如何使用這些新式的自動化的計算機的。 它仍然沒有得到廣泛的認可。 3. [*Fred Schneider*](http://www.cs.cornell.edu/fbs/publications/SMSurvey.pdf)和[*Butler Lampson*](http://research.microsoft.com/en-us/um/people/blampson/58-consensus/Abstract.html)分別給出了更多細節關于在實時系統中如何應用`Paxos`。 4. 一些`Google`的工程師總結了他們在`Chubby`中實施`Paxos`的[經驗](http://www.cs.utexas.edu/users/lorenzo/corsi/cs380d/papers/paper2-1.pdf)。 5. 我發現所有關于`Paxos`的論文理解起來很痛苦,但是值得我們費大力氣弄懂。你不必忍受這樣的痛苦了,因為日志結構的文件系統的大師[*John Ousterhout*](http://www.stanford.edu/~ouster/cgi-bin/papers/lfs.pdf)的[這個視頻](https://www.youtube.com/watch?v=JEpsBg0AO6o)?讓這一切變得相當的容易。這些一致性算法用展開的通信圖表述的更好,而不是在論文中通過靜態的描述來說明。頗為諷刺的是,這個視頻錄制的初衷是告訴人們`Paxos`很難理解。 6. [使用`Paxos`來構造規模一致的數據存儲](http://arxiv.org/pdf/1103.2408.pdf)。這是一篇很棒的介紹使用日志來構造數據存儲的文章,*Jun*?是文章的共同作者之一,他也是`Kafka`最早期的工程師之一。 * `Paxos`有很多的競爭者。如下諸項可以更進一步的映射到日志的實施,更適合于實用性的實施。 1. 由*Barbara Liskov*提出的[視圖戳復現](http://pmg.csail.mit.edu/papers/vr-revisited.pdf)是直接進行日志復現建模的較早的算法。 2. [`Zab`](http://www.stanford.edu/class/cs347/reading/zab.pdf)是`Zookeeper`所使用的算法。 3. [`RAFT`](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf)是易于理解的一致性算法之一。由*John Ousterhout*講授的這個[視頻](https://www.youtube.com/watch?v=YbZ3zDzDnrw)非常的棒。 * 你可以的看到在不同的實時分布式數據庫中動作日志角色: 1. [`PNUTS`](https://www.youtube.com/watch?v=YbZ3zDzDnrw)是探索在大規模的傳統的分布式數據庫系統中實施以日志為中心設計理念的系統。 2. [`Hbase`](http://hbase.apache.org/)和`Bigtable`都是在目前的數據庫系統中使用日志的樣例。 3. `LinkedIn`自己的分布式數據庫[`Espresso`](http://www.slideshare.net/amywtang/espresso-20952131)和`PNUTs`一樣,使用日志來復現,但有一個小的差異是它使用自己底層的表做為日志的來源。 * 如果你正在做一致性算法選型,[這篇論文](http://arxiv.org/abs/1309.5671)會對你所有幫助。 * [復現:理論與實踐](http://www.amazon.com/Replication-Practice-Lecture-Computer-Theoretical/dp/3642112935),這是收錄了分布式系統一致性的大量論文的一本巨著。網上有該書的諸多章節([1](http://disi.unitn.it/~montreso/ds/papers/replication.pdf),[4](http://research.microsoft.com/en-us/people/aguilera/stumbling-chapter.pdf),[5](http://www.distributed-systems.net/papers/2010.verita.pdf),[6](http://www.cs.cornell.edu/ken/history.pdf),[7](http://www.pmg.csail.mit.edu/papers/vr-to-bft.pdf),[8](http://engineering.linkedin.com/distributed-systems/www.cs.cornell.edu/fbs/publications/TrustSurveyTR.pdf))。 * 流處理:這個話題要總結的內容過于寬泛,但還是有幾件我所關注的要提一下: 1. [`TelegraphCQ`](http://db.cs.berkeley.edu/papers/cidr03-tcq.pdf) 2. [`Aurora`](http://cs.brown.edu/research/aurora/vldb03_journal.pdf) 3. [`NiagaraCQ`](http://research.cs.wisc.edu/niagara/papers/NiagaraCQ.pdf) 4. [離散流](http://www.cs.berkeley.edu/~matei/papers/2012/hotcloud_spark_streaming.pdf):這篇論文討論了`Spark`的流式系統。 5. [`MillWheel`](http://research.google.com/pubs/pub41378.html)?它是`Google`的流處理系統之一。 6. [`Naiad`:一個實時數據流系統](http://research.microsoft.com/apps/pubs/?id=201100) 7. [在數據流系統中建模和相關事件](http://infolab.usc.edu/csci599/Fall2002/paper/DML2_streams-issues.pdf):它可能是研究這一領域的最佳概述之一。 8. [分布處式流處理的高可用性算法](http://cs.brown.edu/research/aurora/hwang.icde05.ha.pdf)。 9. 隨機系統的一些論文: 企業級軟件存在著同樣的問題,只是名稱不同,或者規模較小,或者是`XML`格式的。哈哈,開個玩笑。 * [事件驅動](http://cs.brown.edu/research/aurora/hwang.icde05.ha.pdf)?—— 據我所知:它就是企業級應用的工程師們常說的『狀態機的復現』。有趣的是同樣的理念會用在如此迥異的場景中。事件驅動關注的是小的、內存中的使用場景。 這種機制在應用開發中看起來是把發生在日志事件中的『流處理』和應用關聯起來。因此變得不那么瑣碎: 當處理的規模大到需要數據分片時,我關注的是流處理作為獨立的首要的基礎設施。 * [變更數據捕獲](http://en.wikipedia.org/wiki/Change_data_capture)?—— 在數據庫之外會有些對于數據的舍入處理,這些處理絕大多數都是日志友好的數據擴展。 * [企業級應用集成](http://en.wikipedia.org/wiki/Enterprise_application_integration),當你有一些現成的類似客戶類系管理`CRM`和供應鏈管理`SCM`的軟件時,它似乎可以解決數據集成的問題。 * [復雜事件處理(`CEP`)](http://en.wikipedia.org/wiki/Complex_event_processing)沒有人知道它的確切涵義或者它與流處理有什么不同。這些差異看起來集中在無序流和事件過濾、發現或者聚合上,但是依我之見,差別并不明顯。我認為每個系統都有自己的優勢。 * [企業服務總線(`ESB`)](http://en.wikipedia.org/wiki/Enterprise_service_bus)?—— 我認為企業服務總線的概念類似于我所描述的數據集成。在企業級軟件社區中這個理念取得了一定程度的成功,對于從事網絡和分布式基礎架構的工程師們這個概念還是很陌生的。 一些相關的開源軟件: * [`Kafka`](http://kafka.apache.org/)是把日志作為服務的一個項目,它是后邊所列各項的基礎。 * [`Bookeeper`](http://zookeeper.apache.org/bookkeeper/)?和[`Hedwig`](http://zookeeper.apache.org/bookkeeper/)?另外的兩個開源的『把日志作為服務』的項目。它們更關注的是數據庫系統內部構件而不是事件數據。 * [`Databus`](https://github.com/linkedin/databus)是提供類似日志的數據庫表的覆蓋層的系統。 * [`Akka`](http://akka.io/)?是用于`Scala`的`Actor`框架。它有一個[事件驅動](https://github.com/eligosource/eventsourced)的插件,它提供持久化和記錄。 * [`Samza`](http://storm-project.net/)是我們在`LinkedIn`中用到的流處理框架,它用到了本文論述的諸多理念,同時與`Kafka`集成來作為底層的日志。 * [`Storm`](http://storm-project.net/)是廣泛使用的可以很好的與`Kafka`集成的流處理框架之一。 * [`Spark Streaming`](http://spark.incubator.apache.org/docs/0.7.3/streaming-programming-guide.html)一個流處理框架,它是[`Spark`](http://spark.incubator.apache.org/)的一部分。 * [`Summingbird`](https://blog.twitter.com/2013/streaming-mapreduce-with-summingbird)是在`Storm`或`Hadoop`之上的一層,它提供了便潔的計算摘要。 對于這一領域,我將持續的關注,如何您知道一些我遺漏的內容,請您告知。 最后一起來聽聽這首歌放松一下吧: [The Log Song - Ren & Stimpy (Deadwood HoN)](https://youtu.be/2C7mNr5WMjA)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看