Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7442251
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T11:08:49+00:00 2026-05-29T11:08:49+00:00

What I need: I’m designing the backend for a product library which has to

  • 0

What I need:

I’m designing the backend for a product library which has to satisfy the following requirements:

  1. Multiple editors will be editing different items at the same time — there has to be some kind of item-level locking.

  2. Wildly varying item properties — there are about a 100 subcategories, each of which can have 10+ item properties specific to itself.

  3. The whole item store has to be versioned — multiple changes (insertions, edits and deletions) can be made before publishing the whole set of changes to the site; unpublishing must also be possible.

  4. I must be able to search all the properties and filter by some of them — i.e. find a keyword anywhere in the library or find all products that satisfy a set of criteria — within a data set of at least 10MB (i.e. 5000 items, 2KB each,) and possibly twice that.

The solution should either be MySQL-specific or, better yet, vendor-agnostic.

What I’ve considered:

I’m considering using a single large XML object with all the items (to satisfy 2) stored in a database (to satisfy 3) but that makes 1 impossible and 4 difficult. I’ve used something like this before, but with smaller XML objects and no item-level locking.

The other solution I’m considering is a classic database solution using a separate table for each subcategory, which makes 1 and 2 trivial, but 3 and 4 rather difficult. It’s also a bit unwieldy considering the number of different subcategories and therefore number of different tables in the database, but I guess that can be automated.

Another possibility is a hybrid between the two, with a single large database table of all items. Each row would contain an XML object with all the item’s properties and additionally all the filtrable properties as table fields. This solves 1, 2 and partially solves 4 but leaves out full-text searching and still makes 3 rather difficult to achieve.

If you’ve made it so far:

I’ll probably have a few weeks to solve it, which should leave enough time for discussion. I’ll be very grateful for any and all thoughts and insights the SO community can provide. Thanks in advance.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T11:08:49+00:00Added an answer on May 29, 2026 at 11:08 am

    Option 2 – Classic database solution as outlined by you works well for this case.

    It takes care of 1, 2 [a bit difficult but you can overcome most of it by designing little gereric mannager], 3.

    For point 4, I would suggest you explore using Apache Solr which can be easily integrated with RDBMS, can index data and it is 100 times more faster than SQL.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Need help. It may be weird. First activity has listview(like lazyadapter) once i click
Need to locate the following pattern: The letter I followed by a space then
Need some advice to use iframe for widget or not. Will some addons/plugin block
Need some insight on how this works I have the following piece of code
Need someone to help me to crack the following. On my local machine, i'm
need value advice and help me to sort out the following issue. function max_key($array)
In my XML file chapters tag has more chapter tag.i need to display chapters
Need help formatting a mySQL query string. The following query returns parse error, expecting
I need a function that will clean a strings' special characters. I do NOT
Need to testcase a complex webapp which does some interacting with a remote 3rd

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.