Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

4
  • I don't like the need to pull all product SKUs out of the database to do the operation in-memory. It's the obvious solution I suggested in the initial question and questioned its performance. Also, IMO, relying on the constraint in your DB, to be responsible for the uniqueness, is bad. If you were to switch to a new database engine and somehow the unique constraint got lost during a transformation, you have broken code, because the database information that were there before are no longer there. Anyway thank you for the link, interesting read. Commented May 17, 2016 at 15:23
  • Perhaps a Bloom filter (see edit). Commented May 19, 2016 at 14:04
  • 1
    Loading all producs SKUs out of db is not even a solution. In a concurrent scenario, when two service are trying to create new product with the same SKU, both might read all product, validate uniqueness and insert duplicate SKUs. Commented Oct 16, 2020 at 17:18
  • @tchelidze Not if all the product SKUs are collected into one aggregate (with optimistic concurrency control) saved with the individual product aggregate within the same transaction. Commented Jan 23 at 12:26