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

  • Home
  • SEARCH
  • 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 7801187
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T00:52:05+00:00 2026-06-02T00:52:05+00:00

I saw video tutorial on HBase, where data got stored in a table like

  • 0

I saw video tutorial on HBase, where data got stored in a table like this:

EmployeeName - Height - ProjectInfo

------------------------------------

Jdoe - 5'7" - ProjA-TeamLead, ProjB-Contributor

What happens when some Business requirements comes up that name of ProjA has to be changed to ProjX ?
Wouldn’t there be a separate table where Project information is stored?

  • 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-06-02T00:52:07+00:00Added an answer on June 2, 2026 at 12:52 am

    In a relational database, yes: you’d have a project table, and the employee table would refer to it via a foreign key and only store the immutable project id (rather than the name). Then when you want to query it (in a relational database), you’d do a JOIN like:

    SELECT
      employee.name,
      employee.height,
      project.name,
      employee_project_role.role_name
     FROM
       employee
       INNER JOIN employee_project_role
         ON employee_project_role.employee_id = employee.employee_id
       INNER JOIN project
         ON employee_project_role.project_id = project.project_id
    

    This isn’t how things are done in HBase (and other NoSQL databases); the reason is that since these databases are geared towards extremely large data sets, and distributed over many machines, the actual algorithms to transparently execute complex joins like this become a lot harder to pull off in ways that perform well. Thus, HBase doesn’t even have built-in joins.

    Instead, the general approach with systems like this is that you denormalize your data, and store things in a single table. So in this case, there might be one row per employee, and denormalized into that row is all of the employee’s project role info (probably in separate columns — the contents of a row in HBase is actually a key/value map, so you can represent repeating things like all of their different roles easily).

    You’re absolutely right, though: if you change the name of the project, that means you’d need to change the data that’s stored for every employee. In this respect, the relational model is “cleaner”. But if you’re dealing with Petabytes of data or trillions of rows, the “clean” abstraction of a relational database becomes a lot messier, because you end up having to shard it all manually. The point of systems like HBase is to pay these costs up front in the design process, and not just assume the relational database will magically solve problems like this for you at scale. (Because it won’t).

    That said: if you don’t expect to have at least Terabtyes of data (that’s a million MB, remember), just do it in a relational database. It’ll be much easier.

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

Sidebar

Related Questions

How do you do it? I saw one video tutorial on it, but the
I saw this video, and I am really curious how it was performed. Does
I saw a WWDC 2010 video about NSFileProtectionComplete and protecting app's data. Are there
I saw this new YouTube function from their video comments where it shows a
I saw this example on appsmuck.com for seamless video looping, it works fine on
I saw in a tutorial video that we should use Html.Encode in our views
I just saw this video http://www.youtube.com/watch?v=y71lli8MS8s and find it amazing. The question is about
I examined some MPEG-4 video headers and saw some byte arrays like below at
I saw this problem: Given a binary search tree and a number, find a
I saw some code snippet like below: process.stdin.on('keypress', function(c, key){ if (key && 'enter'

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.