Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

Bill the Lizard said to bring this up here on meta.

Several of my answers were deleted as spam 2 days ago, even though they are correct answers.

This one is from last August, and had already been accepted by the OP as a good answer. What dbtype of Berkeley db should I use for my task ? And some more questions

This one is from 2 days ago. It not only answers the question correctly, but links a research paper explaining why, and gives google search terms to find even more research papers on the topic. Page management in in-memory database

This one simply provides an answer for completeness, since the question yielded a long list of choices. Need an Embedded/In Memory Database

Again, correct answer to the question. Smallest database that supports indexes, high write volumes, and is ACID?

Ditto. They asked for ACID-complient B+tree. The answer is correct. Simplest database implementation

DITTO. Recommendation for an in-memory database

share|improve this question
They were probably all seen as self promotional and without full disclosure. You have a relationship to the project you recommend - you should declare it. – Oded Jan 21 '13 at 16:47
In addition to not disclosing your affiliation, it seems that almost every single one of your posts is designed to recommend your product. That's spam. See the faq section on this subject for more info. – Servy Jan 21 '13 at 16:54
I had no intention of misleading anyone, and was not aware that that was a requirement. E.g., This answer from David Segleau was not singled out for the same reason, even though he is associated with BerkeleyDB. – hyc Jan 21 '13 at 16:55
@hyc: not every instance of spam/non-disclosure is caught. They require a flag from somebody to be noticed. – user7116 Jan 21 '13 at 16:56
@hyc Even if you didn't realize it before you spammed, it's something you might want to have checked after your posts were deleted for spam. Looking up the policy on the subject in the FAQ seems like an appropriate place to start in that situation. – Servy Jan 21 '13 at 16:58
Take a look at… for some guidance – Kate Gregory Jan 21 '13 at 16:58
When someone adds many similar answers to old questions, that shows up in the review queues. If they all recommend a specific product, that sure looks like spam and some reviewers will notice. – Bo Persson Jan 21 '13 at 16:59
@hyc No, actually. Believe it or not, the goal is not to help you post the same answer for different questions, or to help spammers find content to spam. It's more to help people who end up on a question that's similar to the problem they have, but not quite the same, so that they can find their solution, or to help people who have inadvertently asked a duplicate question to be directed to existing answers for their question. Note that many of the questions you posted answers to don't belong on SO in the first place, and have been closed/deleted now that you've brought attention to them. – Servy Jan 21 '13 at 17:08
"spam" is too harsh a term for this. It's a term usually reserved on SO for "Apartments available cheap buy now!!!" posts. Accounts posting spam usually get deleted quick. If Bill had thought you were this kind of user, you would probably not have an account to post with today. No, you ran afoul of the "don't promote without disclosing your affiliation" requirement, as described here. These kinds of posts (usually answers) are just deleted, often with a note from a moderator. – Michael Petrotta Jan 21 '13 at 17:37
From that FAQ entry: "However, you must disclose your affiliation in your answers. [...] If a huge percentage of your posts include a mention of your product or website, you're probably here for the wrong reasons" (emphasis in original) – Michael Petrotta Jan 21 '13 at 17:37
@hyc Just because your post was factual and answered a question doesn't mean it's not spam, and it doesn't mean it shouldn't be deleted. Having said that, the majority of your answers were not of high quality. As I said in my first comment, you are advertising your product in almost all of your posts. That's a violation of the rules, so even if you edited to include an affiliation, they should be deleted for that reason. Most of the posts where you just suggest that the person use your product should have the questions deleted, so when that happens, undeleting your answers becomes moot. – Servy Jan 21 '13 at 17:42
"E.g., This answer from David Segleau was not singled out for the same reason, even though he is associated with BerkeleyDB." — True, he should have disclosed as well. Still then, that question asked for "Recommendation for an in-memory database", while in the example from Bill's answer you posted an unrelated (at least: non-explained) reference to your product. That feels very different to me. – Arjan Jan 21 '13 at 18:05
@Arjan Even if a post is asking for a recommendation it doesn't mean spam is allowed. However, such threads are not allowed on SO because of the fact that they attract so much spam. In that case, the question should be closed/deleted. – Servy Jan 21 '13 at 18:11
I don't know that that would happen. Just adding affiliation is not enough - the answer needs to be relevant to the question, and the question itself should be suitable to the site. – Oded Jan 21 '13 at 18:12
Even with disclosure I'd be pretty uncomfortable with any user who turns up and does nothing but self-promote. Not exactly in the spirit of things. – Flexo Jan 21 '13 at 20:51

All of those answers were flagged as spam because many of them were posted in a short period of time to older questions, and they all contained a promotional link where your affiliation was not disclosed. I turn your attention to the relevant section of the FAQ (emphasis added):

May I promote products or websites I am affiliated with here?

Be careful, because the community frowns on overt self-promotion and tends to vote it down and flag it as spam. Post good, relevant answers, and if some (but not all) happen to be about your product or website, so be it. However, you must disclose your affiliation in your answers.

If a huge percentage of your posts include a mention of your product or website, you're probably here for the wrong reasons. Our advertising rates are quite reasonable; contact our ad sales team for details. We also offer free community promotion ads for open source projects and non-profit organizations.

I want to go over one of your answers in detail to explain why I deleted it, and to help you to improve your answers. This answer is to the question Page management in in-memory database, which asks:

I wonder in the case that all data fit into memory and disk is only used for fail-over, is there any need to divide data/index into pages(I mean efficiency issues)?

Your answer was in four parts:

You'll find that B+trees are most efficient, regardless of whether you're working purely in-memory or on-disk. And if there's any danger of your memory database growing too large and causing swapping, organizing into pages is still an advantage.

This doesn't really answer the question. The OP is asking specifically about the advantages of paging in the case where all data fits into memory. You're telling him that paging is nice just in case it doesn't fit into main memory.

A lot of literature exists on the use of T-trees for in-memory databases, but in reality they still perform worse than B+trees.

This is probably the best part of the answer, as the paper you link to might cover the question asked. I don't really know though, since I didn't read the paper. This part of the answer could be posted as a comment, or you could quote the relevant parts of the paper to make it more clear what the answer to the question is.

But you can save yourself the trouble and just use OpenLDAP MDB.

It's a little bit troubling that you managed to work a recommendation to your project in to this answer. This really doesn't belong here, as it doesn't answer the question. It would seem to indicate that you were searching for any question that might be even tangentially related so that you could post promotional links.

In the meantime if you feel like reading more on the topic, google "index structures for main memory databases" will give you plenty of research papers to read. I've read just about all of them already.

This is only slightly more helpful than telling someone to just Google their question. It can be helpful (in a comment) in some cases to give people hints about what terms to search for if they seem to be struggling, but I don't think that's really warranted here. I think it's safe to assume that the OP knows what to Google.

share|improve this answer
The first part is the most important. Experience shows that databases always grow. People think their data fits in-memory today but it will grow beyond before they know it. It is always best to break data into pages because when the day (inevitably) comes that their data is too big for main memory, the page-based database will continue to work efficiently, even if slower than before. – hyc Jan 21 '13 at 17:43
The next part - there's a lot of people talking about in-memory databases these days. They dismiss B+trees because they believe they're only for disk-oriented databases, but they're missing the point. Research shows that B+trees are more efficient than other purpose-built main-memory structures. This part of the answer tells him he's probably barking up the wrong tree. – hyc Jan 21 '13 at 17:44
The 3rd part is an existence proof that B+trees are still better. The source code is clean and understandable, freely licensed, and the benchmarks demonstrate that the approach is not just slightly better than other approaches, but orders of magnitude better. – hyc Jan 21 '13 at 17:46
@hyc All of that really should be explained in the answer. What you have in the first section of your answer now certainly wouldn't get it flagged for deletion, I just wanted to point out that it really doesn't answer the question in its current form. If you expand on that section, quote the paper in the second section, and get rid of the product recommendation, this answer could be undeleted. – Bill the Lizard Jan 21 '13 at 17:46
The 4th part shows the keywords I used to bring up the research paper I linked above. The poster clearly didn't know what to search for otherwise he would have already known this answer. Also, it's not trivial to find these research papers just using shorter, simpler search terms. If you trim down those search terms you'll only get a lot of blog posts and opinions on the topic, but no documented facts. – hyc Jan 21 '13 at 17:48
@hyc The 4th section isn't really hurting your answer, but I don't know that it helps much either. It would be fine as a stand-alone comment. If you improve the other parts of the answer, you can leave it in there too. – Bill the Lizard Jan 21 '13 at 17:52
Why is it troubling that I tried to save someone else from having to rediscover all the research I've gone through over the past several years, and save them from reinventing the wheel? – hyc Jan 21 '13 at 17:59
@hyc - You're completely missing the points posted in this answer. Bill is trying to help you improve your answers, not defend what you wrote. No progress will be made if you continue to attempt to justify your answers, regardless of how much (or little) useful information is in it. – nickb Jan 21 '13 at 18:03
@nickb: you're not helping. I get it. I'll go back and fix the points Bill addressed. But I still want the justification spelled out. – hyc Jan 21 '13 at 18:05
I've edited this answer as suggested. – hyc Jan 21 '13 at 18:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .