1<!DOCTYPE html> 2<html lang="en-US"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <title>Stream Facts | Eventide</title> 7 <meta name="generator" content="VuePress 1.9.9"> 8 9 <meta name="description" content="Event Sourcing, Message-Based Autonomous Components, Pub/Sub"> 10 11 <link rel="preload" href="/assets/css/0.styles.83b7b470.css" as="style"><link rel="preload" href="/assets/js/app.d8b11c4e.js" as="script"><link rel="preload" href="/assets/js/2.fa91ca9b.js" as="script"><link rel="preload" href="/assets/js/23.b1862979.js" as="script"><link rel="prefetch" href="/assets/js/10.a0f043b2.js"><link rel="prefetch" href="/assets/js/11.045d37dc.js"><link rel="prefetch" href="/assets/js/12.444c7f0d.js"><link rel="prefetch" href="/assets/js/13.f15ba649.js"><link rel="prefetch" href="/assets/js/14.56338b2b.js"><link rel="prefetch" href="/assets/js/15.05f93bcd.js"><link rel="prefetch" href="/assets/js/16.641c72d3.js"><link rel="prefetch" href="/assets/js/17.a01ad0ca.js"><link rel="prefetch" href="/assets/js/18.7e5633e1.js"><link rel="prefetch" href="/assets/js/19.1a77e9df.js"><link rel="prefetch" href="/assets/js/20.54700c00.js"><link rel="prefetch" href="/assets/js/21.467ecbfa.js"><link rel="prefetch" href="/assets/js/22.22a7257b.js"><link rel="prefetch" href="/assets/js/24.2de64bfc.js"><link rel="prefetch" href="/assets/js/25.95229296.js"><link rel="prefetch" href="/assets/js/26.5cf9ca44.js"><link rel="prefetch" href="/assets/js/27.3247fd0a.js"><link rel="prefetch" href="/assets/js/28.96febf04.js"><link rel="prefetch" href="/assets/js/29.f35dc936.js"><link rel="prefetch" href="/assets/js/3.df6edcb4.js"><link rel="prefetch" href="/assets/js/30.daf456fc.js"><link rel="prefetch" href="/assets/js/31.d0db329a.js"><link rel="prefetch" href="/assets/js/32.ddad683c.js"><link rel="prefetch" href="/assets/js/33.b17a00ae.js"><link rel="prefetch" href="/assets/js/34.b7527626.js"><link rel="prefetch" href="/assets/js/35.e9c7b993.js"><link rel="prefetch" href="/assets/js/36.58aa32ac.js"><link rel="prefetch" href="/assets/js/37.cc232f58.js"><link rel="prefetch" href="/assets/js/38.05aa291b.js"><link rel="prefetch" href="/assets/js/39.27afa87f.js"><link rel="prefetch" href="/assets/js/4.60983ea8.js"><link rel="prefetch" href="/assets/js/40.e7e585cd.js"><link rel="prefetch" href="/assets/js/41.e9e681ba.js"><link rel="prefetch" href="/assets/js/42.40eec764.js"><link rel="prefetch" href="/assets/js/43.a36719d4.js"><link rel="prefetch" href="/assets/js/44.b821ddd4.js"><link rel="prefetch" href="/assets/js/45.74b56cc2.js"><link rel="prefetch" href="/assets/js/46.da08c7ea.js"><link rel="prefetch" href="/assets/js/47.61560e09.js"><link rel="prefetch" href="/assets/js/48.263c855d.js"><link rel="prefetch" href="/assets/js/49.8ec4a49c.js"><link rel="prefetch" href="/assets/js/5.efc17c1d.js"><link rel="prefetch" href="/assets/js/50.b58689d2.js"><link rel="prefetch" href="/assets/js/51.887c06ce.js"><link rel="prefetch" href="/assets/js/52.797a0fcc.js"><link rel="prefetch" href="/assets/js/53.aa906eb8.js"><link rel="prefetch" href="/assets/js/54.394eabe3.js"><link rel="prefetch" href="/assets/js/55.feadbefe.js"><link rel="prefetch" href="/assets/js/56.be1823b9.js"><link rel="prefetch" href="/assets/js/57.585b1913.js"><link rel="prefetch" href="/assets/js/58.75a97b74.js"><link rel="prefetch" href="/assets/js/59.17bb2308.js"><link rel="prefetch" href="/assets/js/6.7907e106.js"><link rel="prefetch" href="/assets/js/60.32499654.js"><link rel="prefetch" href="/assets/js/61.acedc813.js"><link rel="prefetch" href="/assets/js/62.19b489d6.js"><link rel="prefetch" href="/assets/js/63.d333ab11.js"><link rel="prefetch" href="/assets/js/64.154be5e2.js"><link rel="prefetch" href="/assets/js/65.6d7104b3.js"><link rel="prefetch" href="/assets/js/66.fbdd6247.js"><link rel="prefetch" href="/assets/js/67.75146bd9.js"><link rel="prefetch" href="/assets/js/68.878e211f.js"><link rel="prefetch" href="/assets/js/69.927ce231.js"><link rel="prefetch" href="/assets/js/7.fd8ab3b5.js"><link rel="prefetch" href="/assets/js/70.97bc1a7e.js"><link rel="prefetch" href="/assets/js/71.40cb378d.js"><link rel="prefetch" href="/assets/js/72.b33e3f25.js"><link rel="prefetch" href="/assets/js/73.5aabb8b9.js">
11<link rel="prefetch" href="/assets/js/74.29763bb0.js"><link rel="prefetch" href="/assets/js/75.274ed3d0.js"><link rel="prefetch" href="/assets/js/76.c644d49d.js"><link rel="prefetch" href="/assets/js/77.b98437b8.js"><link rel="prefetch" href="/assets/js/78.e14b4b4a.js"><link rel="prefetch" href="/assets/js/79.690e0e59.js"><link rel="prefetch" href="/assets/js/8.467e62e4.js"><link rel="prefetch" href="/assets/js/80.8f5d7dbf.js"><link rel="prefetch" href="/assets/js/9.0023b4e8.js"> 12 <link rel="stylesheet" href="/assets/css/0.styles.83b7b470.css"> 13 </head> 14 <body> 15 <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">Eventide</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link"> 16 Home 17</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Setup" class="dropdown-title"><span class="title">Setup</span> <span class="arrow down"></span></button> <button type="button" aria-label="Setup" class="mobile-dropdown-title"><span class="title">Setup</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/setup/postgres.html" class="nav-link"> 18 Postgres 19</a></li><li class="dropdown-item"><!----> <a href="/setup/eventstore.html" class="nav-link"> 20 EventStore 21</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Core Concepts" class="dropdown-title"><span class="title">Core Concepts</span> <span class="arrow down"></span></button> <button type="button" aria-label="Core Concepts" class="mobile-dropdown-title"><span class="title">Core Concepts</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/core-concepts/streams/" aria-current="page" class="nav-link router-link-exact-active router-link-active"> 22 Streams 23</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/services/" class="nav-link"> 24 Services 25</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/messages-and-messaging/" class="nav-link"> 26 Messages and Messaging 27</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/pub-sub.html" class="nav-link"> 28 Pub/Sub 29</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/event-sourcing.html" class="nav-link"> 30 Event Sourcing 31</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="User Guide" class="dropdown-title"><span class="title">User Guide</span> <span class="arrow down"></span></button> <button type="button" aria-label="User Guide" class="mobile-dropdown-title"><span class="title">User Guide</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/user-guide/message-db/" class="nav-link"> 32 Message DB 33</a></li><li class="dropdown-item"><!----> <a href="/user-guide/message-handlers.html" class="nav-link"> 34 Message Handlers 35</a></li><li class="dropdown-item"><!----> <a href="/user-guide/messages-and-message-data/" class="nav-link"> 36 Messages and Message Data 37</a></li><li class="dropdown-item"><!----> <a href="/user-guide/stream-names/" class="nav-link"> 38 Stream Names 39</a></li><li class="dropdown-item"><!----> <a href="/user-guide/projection.html" class="nav-link"> 40 Entity Projection 41</a></li><li class="dropdown-item"><!----> <a href="/user-guide/entity-store/" class="nav-link"> 42 Entity Store, Caching, Snapshotting 43</a></li><li class="dropdown-item"><!----> <a href="/user-guide/entities.html" class="nav-link"> 44 Entities 45</a></li><li class="dropdown-item"><!----> <a href="/user-guide/writing/" class="nav-link"> 46 Writing Messages 47</a></li><li class="dropdown-item"><!----> <a href="/user-guide/retrieving/" class="nav-link"> 48 Retrieving Messages 49</a></li><li class="dropdown-item"><!----> <a href="/user-guide/reading.html" class="nav-link"> 50 Reading Messages 51</a></li><li class="dropdown-item"><!----> <a href="/user-guide/consumers.html" class="nav-link"> 52 Consumers 53</a></li><li class="dropdown-item"><!----> <a href="/user-guide/component-host.html" class="nav-link"> 54 Component Host 55</a></li><li class="dropdown-item"><!----> <a href="/user-guide/session.html" class="nav-link"> 56 Session 57</a></li><li class="dropdown-item"><!----> <a href="/user-guide/settings.html" class="nav-link"> 58 Settings 59</a></li><li class="dropdown-item"><!----> <a href="/user-guide/logging/" class="nav-link"> 60 Logging 61</a></li><li class="dropdown-item"><!----> <a href="/user-guide/test-fixtures/" class="nav-link"> 62 Test Fixtures 63</a></li><li class="dropdown-item"><!----> <a href="/user-guide/code-generator.html" class="nav-link"> 64 Code Generator 65</a></li><li class="dropdown-item"><!----> <a href="/user-guide/libraries.html" class="nav-link"> 66 Libraries 67</a></li><li class="dropdown-item"><!----> <a href="/user-guide/useful-objects.html" class="nav-link"> 68 Doctrine of Useful Objects 69</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Examples" class="dropdown-title"><span class="title">Examples</span> <span class="arrow down"></span></button> <button type="button" aria-label="Examples" class="mobile-dropdown-title"><span class="title">Examples</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/examples/" class="nav-link"> 70 Overview 71</a></li><li class="dropdown-item"><!----> <a href="/examples/at-a-glance.html" class="nav-link"> 72 Service at a Glance 73</a></li><li class="dropdown-item"><!----> <a href="/examples/quickstart.html" class="nav-link"> 74 Quickstart 75</a></li><li class="dropdown-item"><!----> <a href="/examples/example-projects.html" class="nav-link"> 76 Example Projects 77</a></li></ul></div></div><div class="nav-item"><a href="/glossary.html" class="nav-link"> 78 Glossary 79</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link"> 80 Home 81</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Setup" class="dropdown-title"><span class="title">Setup</span> <span class="arrow down"></span></button> <button type="button" aria-label="Setup" class="mobile-dropdown-title"><span class="title">Setup</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/setup/postgres.html" class="nav-link"> 82 Postgres 83</a></li><li class="dropdown-item"><!----> <a href="/setup/eventstore.html" class="nav-link"> 84 EventStore 85</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Core Concepts" class="dropdown-title"><span class="title">Core Concepts</span> <span class="arrow down"></span></button> <button type="button" aria-label="Core Concepts" class="mobile-dropdown-title"><span class="title">Core Concepts</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/core-concepts/streams/" aria-current="page" class="nav-link router-link-exact-active router-link-active"> 86 Streams 87</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/services/" class="nav-link"> 88 Services 89</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/messages-and-messaging/" class="nav-link"> 90 Messages and Messaging 91</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/pub-sub.html" class="nav-link"> 92 Pub/Sub 93</a></li><li class="dropdown-item"><!----> <a href="/core-concepts/event-sourcing.html" class="nav-link"> 94 Event Sourcing 95</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="User Guide" class="dropdown-title"><span class="title">User Guide</span> <span class="arrow down"></span></button> <button type="button" aria-label="User Guide" class="mobile-dropdown-title"><span class="title">User Guide</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/user-guide/message-db/" class="nav-link"> 96 Message DB 97</a></li><li class="dropdown-item"><!----> <a href="/user-guide/message-handlers.html" class="nav-link"> 98 Message Handlers 99</a></li><li class="dropdown-item"><!----> <a href="/user-guide/messages-and-message-data/" class="nav-link"> 100 Messages and Message Data 101</a></li><li class="dropdown-item"><!----> <a href="/user-guide/stream-names/" class="nav-link"> 102 Stream Names 103</a></li><li class="dropdown-item"><!----> <a href="/user-guide/projection.html" class="nav-link"> 104 Entity Projection 105</a></li><li class="dropdown-item"><!----> <a href="/user-guide/entity-store/" class="nav-link"> 106 Entity Store, Caching, Snapshotting 107</a></li><li class="dropdown-item"><!----> <a href="/user-guide/entities.html" class="nav-link"> 108 Entities 109</a></li><li class="dropdown-item"><!----> <a href="/user-guide/writing/" class="nav-link"> 110 Writing Messages 111</a></li><li class="dropdown-item"><!----> <a href="/user-guide/retrieving/" class="nav-link"> 112 Retrieving Messages 113</a></li><li class="dropdown-item"><!----> <a href="/user-guide/reading.html" class="nav-link"> 114 Reading Messages 115</a></li><li class="dropdown-item"><!----> <a href="/user-guide/consumers.html" class="nav-link"> 116 Consumers 117</a></li><li class="dropdown-item"><!----> <a href="/user-guide/component-host.html" class="nav-link"> 118 Component Host 119</a></li><li class="dropdown-item"><!----> <a href="/user-guide/session.html" class="nav-link"> 120 Session 121</a></li><li class="dropdown-item"><!----> <a href="/user-guide/settings.html" class="nav-link"> 122 Settings 123</a></li><li class="dropdown-item"><!----> <a href="/user-guide/logging/" class="nav-link"> 124 Logging 125</a></li><li class="dropdown-item"><!----> <a href="/user-guide/test-fixtures/" class="nav-link"> 126 Test Fixtures 127</a></li><li class="dropdown-item"><!----> <a href="/user-guide/code-generator.html" class="nav-link"> 128 Code Generator 129</a></li><li class="dropdown-item"><!----> <a href="/user-guide/libraries.html" class="nav-link"> 130 Libraries 131</a></li><li class="dropdown-item"><!----> <a href="/user-guide/useful-objects.html" class="nav-link"> 132 Doctrine of Useful Objects 133</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Examples" class="dropdown-title"><span class="title">Examples</span> <span class="arrow down"></span></button> <button type="button" aria-label="Examples" class="mobile-dropdown-title"><span class="title">Examples</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/examples/" class="nav-link"> 134 Overview 135</a></li><li class="dropdown-item"><!----> <a href="/examples/at-a-glance.html" class="nav-link"> 136 Service at a Glance 137</a></li><li class="dropdown-item"><!----> <a href="/examples/quickstart.html" class="nav-link"> 138 Quickstart 139</a></li><li class="dropdown-item"><!----> <a href="/examples/example-projects.html" class="nav-link"> 140 Example Projects 141</a></li></ul></div></div><div class="nav-item"><a href="/glossary.html" class="nav-link"> 142 Glossary 143</a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>Streams</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/core-concepts/streams/" aria-current="page" class="active sidebar-link">Stream Facts</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/core-concepts/streams/#streams-are-created-when-the-message-is-written-to-them" class="sidebar-link">Streams are created when the message is written to them</a></li><li class="sidebar-sub-header"><a href="/core-concepts/streams/#category-streams-are-updated-when-a-message-is-written-to-a-stream" class="sidebar-link">Category streams are updated when a message is written to a stream</a></li><li class="sidebar-sub-header"><a href="/core-concepts/streams/#stream-names-must-be-unique" class="sidebar-link">Stream names must be unique</a></li><li class="sidebar-sub-header"><a href="/core-concepts/streams/#stream-names-do-not-have-a-separate-namespacing-mechanism" class="sidebar-link">Stream names do not have a separate namespacing mechanism</a></li><li class="sidebar-sub-header"><a href="/core-concepts/streams/#messages-can-be-written-concurrently-to-a-stream-but-do-it-safely" class="sidebar-link">Messages can be written concurrently to a stream, but do it safely</a></li><li class="sidebar-sub-header"><a href="/core-concepts/streams/#streams-can-be-deleted" class="sidebar-link">Streams can be deleted</a></li><li class="sidebar-sub-header"><a href="/core-concepts/streams/#messages-can-be-deleted" class="sidebar-link">Messages can be deleted</a></li></ul></li><li><a href="/core-concepts/streams/reading-and-writing.html" class="sidebar-link">Reading and Writing</a></li><li><a href="/core-concepts/streams/uses-of-streams.html" class="sidebar-link">Uses of Streams</a></li><li><a href="/core-concepts/streams/stream-names.html" class="sidebar-link">Stream Names</a></li><li><a href="/core-concepts/streams/streams-vs-queues.html" class="sidebar-link">Streams vs Queues</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default">
143<h1 id="stream-facts"><a href="#stream-facts" class="header-anchor">#</a> Stream Facts</h1> <p>Streams are the fundamental unit of organization of evented, service-oriented systems. They are both the storage and the transport of messages in message-based systems. And they are the principle storage medium of applicative entity data.</p> <h2 id="streams-are-created-when-the-message-is-written-to-them"><a href="#streams-are-created-when-the-message-is-written-to-them" class="header-anchor">#</a> Streams are created when the message is written to them</h2> <p>Streams are created by writing a message to the stream. Messages are appended to the end of streams. If the stream doesn't exist when an event is appended to it, the event will be appended at position 0. If the stream already exists, the event will be appended at the next position number.</p> <h2 id="category-streams-are-updated-when-a-message-is-written-to-a-stream"><a href="#category-streams-are-updated-when-a-message-is-written-to-a-stream" class="header-anchor">#</a> Category streams are updated when a message is written to a stream</h2> <p>It depends on which data storage implementation is being used. For the Postgres implementation, categories are just database queries and an index on the category section of the stream name. In the EventStore implementation, a category is a separate stream where a link to a message is written when the message is written to the stream. In both cases, category streams are basically cross-reference indexes that are written when messages are written to a stream.</p> <h2 id="stream-names-must-be-unique"><a href="#stream-names-must-be-unique" class="header-anchor">#</a> Stream names must be unique</h2> <p>Stream names must be unique within the scope of a single message store database.</p> <h2 id="stream-names-do-not-have-a-separate-namespacing-mechanism"><a href="#stream-names-do-not-have-a-separate-namespacing-mechanism" class="header-anchor">#</a> Stream names do not have a separate namespacing mechanism</h2> <p>Stream names are not namespaced within a message store. If the same stream name must be used for different purposes, those streams should either be stored in separate message store databases, or the names of the streams should include some prefix or suffix.</p> <h2 id="messages-can-be-written-concurrently-to-a-stream-but-do-it-safely"><a href="#messages-can-be-written-concurrently-to-a-stream-but-do-it-safely" class="header-anchor">#</a> Messages can be written concurrently to a stream, but do it safely</h2> <p>Messages can be written concurrently to a stream. However, doing so requires some extra protections in the code. When a message is written, the process doing the writing can provide a stream's current <em>version</em> to the write operation. If the stream has been appended to by another process in the mean time, the stream's on-disk version will no longer match the version number provided to the write, and the write will fail. This protects a stream from being corrupted by concurrent writes. When a write fails with an expected version match error, the write is typically retried, and on the second attempt, the handler logic detects that the write is no longer necessary and discards it.</p> <h2 id="streams-can-be-deleted"><a href="#streams-can-be-deleted" class="header-anchor">#</a> Streams can be deleted</h2> <p>Streams can be deleted. However, the deletion of streams is not normal <a href="/glossary.html#applicative">applicative</a> logic. The deletion of streams is more typically an operations task. It would be so rare that applicative logic would be deleting streams that the impulse to do so should be scrutinized with diligence. Reasons for removing streams include the regulatory requirement to delete customer data.</p> <h2 id="messages-can-be-deleted"><a href="#messages-can-be-deleted" class="header-anchor">#</a> Messages can be deleted</h2> <p>As with the deletion of streams, the deletion of messages should not appear in normal applicative logic. The deletion of messages is more typically an operations task. Reasons for removing messages include the removal of older command messages that have already been processed, or the removal of former entity snapshot messages.</p></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/core-concepts/streams/reading-and-writing.html"> 144 Reading and Writing 145 </a> 146 â 147 </span></p></div> </main></div><div class="global-ui"></div></div> 148
148<script src="/assets/js/app.d8b11c4e.js" defer></script>
148<script src="/assets/js/2.fa91ca9b.js" defer></script>
148<script src="/assets/js/23.b1862979.js" defer></script>
148 149 </body> 150</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.