Why Isn't HAF Used More?

avatar

I'm glad to see @arcange's HiveSQL as well as his other services and websites back online after the serious challenges he faced.

As far as I can tell from the outside, HiveSQL (or a similar public service) is absolutely necessary for small projects on Hive, that can't afford more expensive infrastructure or the services of experts to make it work. HiveSQL is simple and, even if you are not a code wiz, if someone makes you the script/SQL query and gives you a few simple instructions, you might be able to make it run regularly, as needed, to extract the information you need or perform the calculations, or make a batch of transactions.

Not to mention users really love websites like HiveBuzz, and not only.


Source

But on a larger scale, I am curious why isn't HAF used more... Is it because front-end devs wait for the first batch of dApps using HAF to be completed and released by the Blocktrades team, so they can have working examples to emulate? Or is it something else?

I'm basing my statement that HAF isn't used much on a larger scale on something Khal said in a previous AMA.

When the INLEO team implemented HAFSQL on the backend of their platform (which they later nicknamed something different), Khal said they asked around who uses HAF in the ecosystem. They didn't receive positive answers.

Khal, on the other hand, was very pleased by what they could do using the new service on the backend.

I don't know how things evolved in the meantime, especially since this coincided with HiveSQL being down, but I know INLEO decided to push for HAFSQL after the HiveSQL event happened (or at least that's how it looked publicly). Maybe others did the same and I didn't find out.

I can imagine it's not an easy decision to make the switch, especially with HiveSQL working again, if you'd need to change the code in many places, with the possibility of generating many bugs doing that.

But for bigger projects, it seems like the right thing to do. It's more decentralized and probably easier to scale/customize.

I can also see HAF replacing some operations that are still being done by querying API nodes. What would happen, the way I understand things?

  • less pressure on the several working public API nodes we have
  • bigger dApps starting to carry their own weight
  • much quicker operations compared to querying public API nodes which would bring Web 3 closer to Web 2 when it comes to speed

I believe when Blocktrades releases the dApps they have been working on for a while (all or most of them using HAF), will mark a point after which HAF will start to be used more widely in the ecosystem.


Want to check out my collection of posts?

It's a good way to pick what interests you.

Posted Using InLeo Alpha



0
0
0.000
26 comments
avatar

I have heard about this HiveSQL and how is it quite useful for a lot of things. I guess it is high time I learnt it

0
0
0.000
avatar

Check out SQL, MsSQL, or MySQL and see if you can learn those. They are all similar, and HiveSQL is based on MsSQL, if I remember correctly. But if you know one, you pretty much know all of them.

0
0
0.000
avatar

To answer the title:

Because for HAF you need a running HIVE node to begin with.
Once you have that, HAF is useless for most apps.

0
0
0.000
avatar

I still think it would be quicker to access a local DB via an index, rather than a local file sequentially, which is how APIs probably work, even with a local Hive API node. The problem is the size of the DB, which grows with every index you define.

0
0
0.000
avatar

They don't access a local file sequentially.
HIVE nodes already have a DB table (rocks db) in the background for every endpoint ('plugin').

So unless you need very 'custom' API, you don't need HAF.
And then, you can probably custom build one, without the use of HAF.

Which I have build. I call it the HIAF (HIVE idiot app framework) and it has 200 lines of code and was done in a weekend. It doesn't have a fork manager, but I can't think of an app that would need reversible blocks.
HIAF replay might be slower, but I don't have the ressources to test.

0
0
0.000
avatar
(Edited)

Well, I don't know enough about Hive nodes or HAF to debate you on these matters. 😀

EDIT: However, I have a question. If Hive nodes have Rocks DB behind them (and I've heard of it, but didn't know where it was used), why can't I "get" one of my posts from 3 months ago and I have to scroll back through all the history? Why don't front ends offer a search option?

0
0
0.000
avatar

why can't I "get" one of my posts from 3 months ago and I have to scroll back through all the history?

You can (check the 'start' parameter) but you'd have to know the index number.

My guess is it was designed like that for scalability. At the end of the day, every table is just a list in memory and the more keys, the more tables, more memory.

HIVE Engine allows it (noSQL style) and it seems to work ok, too.

0
0
0.000
avatar

You can (check the 'start' parameter) but you'd have to know the index number.

That index doesn't help with searches much. But I understand the limitations. Rocks DB uses RAM, not disk on Hive nodes, right? Or it's an option that can be set?

0
0
0.000
avatar

Rocks DB uses RAM, not disk on Hive nodes, right?

That's the part I don't understand all that well...
It clearly can't use only RAM, as it's in the TerraBytes for a 'full-node'.
You can manipulate where what is stored on OS level, I guess...
I remember using something like RAMdisk... But I just copied that and never understood how the OS deals with this stuff in the background.

0
0
0.000
avatar

I’m still trying to learn so many things about Hive including nodes and all
I think HiveSQL should be the next

0
0
0.000
avatar

Some people have been on Hive (st**m) close to the beginning and don't know anything about the technical aspect of the chain. But if you are the technical kind, you can try to dive into these things, maybe HiveSQL first, since it's probably simpler.

0
0
0.000
avatar

This post must actually be a response to Khal. Because it's higher than I could understand what it's taking about

0
0
0.000
avatar

No, it's not a response to Khal. And it's ok if you didn't understand much. It is quite technical. There are some things I read I don't fully understand either. But if the subject interests me, I keep reading.

0
0
0.000
avatar

I really need to step up my knowledge about some things which I quite know

0
0
0.000
avatar

You can always learn new things on Hive. Hive is like an onion, with layer upon layer of knowledge and understanding.

0
0
0.000
avatar

I had no knowledge at all about it before, after reading your post I have come to know some things and will try to increase our knowledge in the same way.

0
0
0.000
avatar

Sure. No problem. I don't know much about the inner workings of HAF either. I know Blocktrades is building a lot of stuff based on it and is encouraging others to do the same.

0
0
0.000
avatar

Because of what happened with HiveSQL, it is nice to see that there are other options available/being worked on. Having too much dependency on a single entity can be dangerous. I hope more people invest more into the backend of Hive.

0
0
0.000
avatar

After writing this post I listened to the Hive devs meeting. I heard there arcange asked Blocktrades a few questions about HAF and how to manage HiveSQL using multiple machines. I think he wants to scale his service up and also include HAF as well. I might need to read/listen to it again. I wasn't paying too much attention at the time.

0
0
0.000
avatar

Oh that's good news if he's improving his setup. Thanks for sharing this.

0
0
0.000
avatar

That is the silver lining behind all of these events.

0
0
0.000
avatar

I think it's just because most people don't have a working version of it up. I doubt they would move more towards it until they see a working version and the benefits of having their own node/application. I remember how HiveSQL is crucial towards a lot of apps. It does suck but it does help them cut down costs.

0
0
0.000
avatar

I agree. Running a node is not cheap. And for a small service/product, it doesn't make sense economically when they have a free option.

0
0
0.000
avatar

I haven't looked into this in a few months but I thought HAF was a big project.

I am glad the HiveSQL is back up and running.

0
0
0.000
avatar

I haven't looked into this in a few months but I thought HAF was a big project.

It is. But mainly, its purpose is to be used by other applications. The name says it all: Hive Application Framework.

I am glad the HiveSQL is back up and running.

I'm sure everyone is.

0
0
0.000