{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T04:02:27Z","timestamp":1781064147570,"version":"3.54.1"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2014,12]]},"abstract":"<jats:p>\n            This paper introduces Trill -- a new query processor for analytics. Trill fulfills a combination of three requirements for a query processor to serve the diverse big data analytics space: (1)\n            <jats:italic>Query Model<\/jats:italic>\n            : Trill is based on a tempo-relational model that enables it to handle streaming and relational queries with early results, across the latency spectrum from real-time to offline; (2)\n            <jats:italic>Fabric and Language Integration<\/jats:italic>\n            : Trill is architected as a high-level language library that supports rich data-types and user libraries, and integrates well with existing distribution fabrics and applications; and (3)\n            <jats:italic>Performance<\/jats:italic>\n            : Trill's throughput is high across the latency spectrum. For streaming data, Trill's throughput is 2-4 orders of magnitude higher than comparable streaming engines. For offline relational queries, Trill's throughput is comparable to a major modern commercial columnar DBMS.\n          <\/jats:p>\n          <jats:p>Trill uses a streaming batched-columnar data representation with a new dynamic compilation-based system architecture that addresses all these requirements. In this paper, we describe Trill's new design and architecture, and report experimental results that demonstrate Trill's high performance across diverse analytics scenarios. We also describe how Trill's ability to support diverse analytics has resulted in its adoption across many usage scenarios at Microsoft.<\/jats:p>","DOI":"10.14778\/2735496.2735503","type":"journal-article","created":{"date-parts":[[2015,5,12]],"date-time":"2015-05-12T15:37:52Z","timestamp":1431445072000},"page":"401-412","source":"Crossref","is-referenced-by-count":124,"title":["Trill"],"prefix":"10.14778","volume":"8","author":[{"given":"Badrish","family":"Chandramouli","sequence":"first","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jonathan","family":"Goldstein","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mike","family":"Barnett","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Robert","family":"DeLine","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Danyel","family":"Fisher","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John C.","family":"Platt","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"James F.","family":"Terwilliger","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John","family":"Wernsing","sequence":"additional","affiliation":[{"name":"Microsoft Research"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2014,12]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2012.55"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.14778\/2556549.2556557"},{"key":"e_1_2_1_3_1","volume-title":"CIDR","author":"Barga R.","year":"2007","unstructured":"R. Barga Consistent Streaming Through Time: A Vision for Event Stream Processing . In CIDR , 2007 . R. Barga et al. Consistent Streaming Through Time: A Vision for Event Stream Processing. In CIDR, 2007."},{"key":"e_1_2_1_4_1","unstructured":"Reactive Extensions for .NET. http:\/\/aka.ms\/rx.  Reactive Extensions for .NET. http:\/\/aka.ms\/rx."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463683"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463708"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1996092.1996095"},{"key":"e_1_2_1_8_1","unstructured":"Microsoft StreamInsight. http:\/\/aka.ms\/stream.  Microsoft StreamInsight. http:\/\/aka.ms\/stream."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-30570-5_3"},{"key":"e_1_2_1_10_1","volume-title":"CIDR","author":"Abadi D.","year":"2005","unstructured":"D. Abadi The design of the Borealis stream processing engine . In CIDR , 2005 . D. Abadi et al. The design of the Borealis stream processing engine. In CIDR, 2005."},{"key":"e_1_2_1_11_1","volume-title":"ICDE 2004:  851","author":"Hammad M.","unstructured":"M. Hammad : Nile: A Query Processing Engine for Data Streams . ICDE 2004: 851 . M. Hammad et al.: Nile: A Query Processing Engine for Data Streams. ICDE 2004: 851."},{"key":"e_1_2_1_12_1","unstructured":"Actian Vectorwise DBMS. http:\/\/www.actian.com\/.  Actian Vectorwise DBMS. http:\/\/www.actian.com\/."},{"key":"e_1_2_1_13_1","volume-title":"CIDR","author":"Lim H.","year":"2013","unstructured":"H. Lim How to fit when no one size fits . In CIDR , 2013 . H. Lim et al. How to fit when no one size fits. In CIDR, 2013."},{"key":"e_1_2_1_14_1","unstructured":"Vertica. http:\/\/www.vertica.com\/.  Vertica. http:\/\/www.vertica.com\/."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2011.5767926"},{"key":"e_1_2_1_17_1","unstructured":"Apache Hadoop 2.3.0 (YARN). http:\/\/aka.ms\/Quslzk.  Apache Hadoop 2.3.0 (YARN). http:\/\/aka.ms\/Quslzk."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536274.2536318"},{"key":"e_1_2_1_19_1","unstructured":"Microsoft Avro Library. http:\/\/aka.ms\/Nxbdwg.  Microsoft Avro Library. http:\/\/aka.ms\/Nxbdwg."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.14778\/1454159.1454166"},{"key":"e_1_2_1_21_1","unstructured":"Expression Trees. http:\/\/aka.ms\/K0fzli.  Expression Trees. http:\/\/aka.ms\/K0fzli."},{"key":"e_1_2_1_22_1","author":"Knuth D.","year":"1977","unstructured":"D. Knuth , J. Morris , and V. Pratt . Fast pattern matching in strings. SIAM Journal on Computing ( 1977 ). D. Knuth, J. Morris, and V. Pratt. Fast pattern matching in strings. SIAM Journal on Computing (1977).","journal-title":"Fast pattern matching in strings. SIAM Journal on Computing ("},{"key":"e_1_2_1_24_1","volume-title":"VLDB","author":"Stonebraker M.","year":"2005","unstructured":"M. Stonebraker C-Store -- A Column-Oriented DBMS . In VLDB , 2005 . M. Stonebraker et al. C-Store -- A Column-Oriented DBMS. In VLDB, 2005."},{"key":"e_1_2_1_25_1","first-page":"237","volume":"225","author":"Boncz P. A.","year":"2005","unstructured":"P. A. Boncz , M. Zukowski , and N. Nes , MonetDB\/X100: Hyper-pipelining query execution. CIDR , 2005 , 225 -- 237 . P. A. Boncz, M. Zukowski, and N. Nes, MonetDB\/X100: Hyper-pipelining query execution. CIDR, 2005, 225--237.","journal-title":"MonetDB\/X100: Hyper-pipelining query execution. CIDR"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14778\/2336664.2336678"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1559845.1559865"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213934"},{"key":"e_1_2_1_29_1","unstructured":"Apache Storm. http:\/\/storm.incubator.apache.org\/.  Apache Storm. http:\/\/storm.incubator.apache.org\/."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/543613.543615"},{"key":"e_1_2_1_31_1","volume-title":"ICDE","author":"Jensen C.","year":"1992","unstructured":"C. Jensen Temporal Specialization . In ICDE , 1992 . C. Jensen et al. Temporal Specialization. In ICDE, 1992."},{"key":"e_1_2_1_32_1","unstructured":"The LINQ Project. http:\/\/aka.ms\/rjhi00.  The LINQ Project. http:\/\/aka.ms\/rjhi00."},{"key":"e_1_2_1_33_1","unstructured":"BlinkDB. http:\/\/blinkdb.org\/.  BlinkDB. http:\/\/blinkdb.org\/."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522737"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522738"},{"key":"e_1_2_1_36_1","volume-title":"http:\/\/aka.ms\/Bbtg44","author":"SQL","unstructured":"SQL Server CLR integration. http:\/\/aka.ms\/Bbtg44 . SQL Server CLR integration. http:\/\/aka.ms\/Bbtg44."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2452376.2452435"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536222.2536229"},{"key":"e_1_2_1_39_1","volume-title":"VLDB","author":"Cetintemel U.","year":"2014","unstructured":"U. Cetintemel : A Streaming NewSQL System for Big Velocity Applications . In VLDB , 2014 . U. Cetintemel et al. S-Store: A Streaming NewSQL System for Big Velocity Applications. In VLDB, 2014."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/2735496.2735503","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T09:32:50Z","timestamp":1672219970000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/2735496.2735503"}},"subtitle":["a high-performance incremental query processor for diverse analytics"],"short-title":[],"issued":{"date-parts":[[2014,12]]},"references-count":37,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2014,12]]}},"alternative-id":["10.14778\/2735496.2735503"],"URL":"https:\/\/doi.org\/10.14778\/2735496.2735503","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2014,12]]}}}