Errata for NoSQL Distilled

As with any book, we make mistakes. This page lists the currently known errors in the book. If you spot something that we don't have here, please let me know.

Errors in 3rd and later printings

Page 63 §6.1: In the second paragraph "if the timestamp is too granular you can get duplicates" should read "if the timestamp is too coarse you can get duplicates"

Errors in the 2nd printing

Page 8 §1.4: In the 4th paragraph of section 1.4 "such as the Oracle RAC or Microsoft SQL Server" should read "such as the Oracle RAC or Microsoft SQL Server" [Corrected in the 3rd printing]

Page 37 §4: In the last sentence before section 4.1, "first single-server, then master-slave replication, then sharding," should read "first single-server, then sharding, then master-slave replication, " [Corrected in the 3rd printing]

Page 63 §6.1: In the second paragraph "if the timestamp is too granular you can get duplicates" should read "if the timestamp is too coarse you can get duplicates"

Page 84 §8.2.1: In the first paragraph "older writers loose" should read "older writers lose". [Corrected in the 3rd printing]

Page 112 §11.1: In the last sentence of the section "all they can be represented" should read "they can all be represented". [Corrected in the 3rd printing]

Page 144 §14.3: first sentence "One the consequences of event sourcing is that" should read "One of the consequences of event sourcing is that" [Corrected in the 3rd printing]

Page 149 §15.2: Second paragraph of the second sentence. "A aggregate-oriented database" should read "An aggregate-oriented database" [Corrected in the 3rd printing]

Errors in the 1st printing

Page xiii: Second paragraph of the preface. "An organization's data lasts much longer that its programs" should read "An organization's data lasts much longer than its programs" [Corrected in the 2nd printing]

Page 8 §1.4: In the 4th paragraph of section 1.4 "such as the Oracle RAC or Microsoft SQL Server" should read "such as the Oracle RAC or Microsoft SQL Server" [Corrected in the 3rd printing]

Page 15 §2.1.1: In figure 2.2 the "Orders" table should read "Order" for consistency with the other tables. (Although the usual convention is to make all the table names plural, we didn't do that in this case.) [Corrected in the 2nd printing]

Page 20 §2.2: Second paragraph in section. "we can retrieve part of the aggregate rather than the whole thing, and database can create indexes" should read "we can retrieve part of the aggregate rather than the whole thing, and the database can create indexes" [Corrected in the 2nd printing]

Page 30 §3.3: End of third paragraph from the end of section. "different column families an a column-family database." should read "different column families in a column-family database." [Corrected in the 2nd printing]

Page 35 §3.5: Second to last paragraph in section. "a product with the name Refactoring Database" should read "a product with the name Refactoring Databases" [Corrected in the 2nd printing]

Page 37 §4: In the last sentence before section 4.1, "first single-server, then master-slave replication, then sharding," should read "first single-server, then sharding, then master-slave replication, " [Corrected in the 3rd printing]

Page 52 §5.2: Second to last paragraph in the section. "One way of handling this is for writes to be sent the slave" should read "One way of handling this is for writes to be sent to the slave" [Corrected in the 2nd printing]

Page 63 §6.1: In the second paragraph "if the timestamp is too granular you can get duplicates" should read "if the timestamp is too coarse you can get duplicates"

Page 64 §6.2: Second to last paragraph in section. "There may be missing values in the vector, in which case we use treat the missing value as 0." should read "There may be missing values in the vector, in which case we use treat the missing value as 0." [Corrected in the 2nd printing]

Page 70 §7.2: Second paragraph in section. "the results of the mapper are divided up based the key on each processing node." should read "the results of the mapper are divided up based on the key of each processing node." [Corrected in the 2nd printing]

Page 71 §7.2: In figure 7.5 the row that says "puerh:claire" should read "puerh:ann". [Corrected in the 2nd printing]

Page 84 §8.2.2: At end of first paragraph of section "the W value - replication factor" should read "the W value - write quorum" [Corrected in the 2nd printing]

Page 84 §8.2.1: In the first paragraph "older writers loose" should read "older writers lose". [Corrected in the 3rd printing]

Page 100 §10.2: The first code example should read

{
  name: "firstName",
  value: "Martin",
  timestamp: 12345667890
}
      
[Corrected in the 2nd printing]

Page 101 §10.2: Third prose paragraph in section. "the row consists on multiple columns" should read "the row consists of multiple columns" [Corrected in the 2nd printing]

Page 112 §11.1: In the last sentence of the section "all they can be represented" should read "they can all be represented". [Corrected in the 3rd printing]

Page 121 §11.4: "In some situations, graph databases may not appropriate" should read "In some situations, graph databases may not be appropriate" [Corrected in the 2nd printing]

Page 139 §13.6: Second to last paragraph in section. "The ETL tool vendors are coming out with have the ability" should read "The ETL tool vendors are coming out with have the ability" [Corrected in the 2nd printing]

Page 144 §14.3: first sentence "One the consequences of event sourcing is that" should read "One of the consequences of event sourcing is that" [Corrected in the 3rd printing]

Page 149 §15.2: Second paragraph of the second sentence. "A aggregate-oriented database" should read "An aggregate-oriented database" [Corrected in the 3rd printing]


Many thanks to Nicolò Scarpa, Atzmon Hen-tov, Yasushi Ohtsuka, Yun Seongjun, Aneesh Nair, Sunil Puri, Maria Janina Sarol, Ruslan Dautkhanov, and Jeffrey Lim for spotting and telling me about these errors