FAQ
   General
   Technical Section 1
   Technical Section 2

Download Free SDK

Brainwave Academy


 Home
>> Faq >> Technical Section 1

FAQ Technical Section 1

What languages do you have inbuilt support for?

For the current developer's preview release we are supporting Python as the only language for development. But in our future releases we are working on incorporating support for Java and C#.

Top

Why did you choose Python as the development language?

We chose Python as the development language because of its flexibility.

Top

What is the backend?

Brainwave has its own database called Poseidon as the backend.

Top

Which database do you support?

Brainwave has its own database named Poseidon. The brainwave database is built in such a way that it does not require a schema to be defined for your database. Data can be added straightway. This allows developers to develop applications without defining separate databases for different databases, thereby allowing seamless interaction between applications. We support integration of data in the csv and xls format for the developer's preview release. But for the future releases we are working on providing support for other kinds of databases as well.

Top

What is your innovative data model?

The data model of Brainwave is neither relational nor object oriented. It follows a totally new concept which we call as neural.The brainwave database is built in such a way that it does not require a schema to be defined for your database. Data can be added straightway. This allows developers to develop applications without defining separate databases for different databases, thereby allowing seamless interaction between applications.

Top

How can multiple applications run from the same database?

The database does not follow any schema model. As a developer you do not need to define different databases for different applications you are building on the platform. The database acts as a single repository for all data irrespective of the application. Thus depending on the query model and application design data can be interacted upon enabling easy communication between different applications.

Top

What is the need to have a single data repository for multiple applications?

The main objective of Brainwave is to eliminate the need to define different database schemas for different applications. As no schemas are needed the developers can straightaway put in data to the database thus allowing easy and seamless interaction between applications.

Top

Why are you providing all components along with the database?

We are providing all components along with the database to remove the need to invest time and money to get and configure these components separately.

Top

How and where does the data get stored?

There is a single repository of a data. All the data is stored as encrypted files in the file system.

Top

How much is the memory and the HDD requirements?

You need atleast 1 GB RAM and 40 GB of HD space.

Top

Can 2 objects in the database have the same name? How will you differentiate them?

Yes, there can be n number of objects in the database with the same name, but each one of them will have a unique identifier. These identifiers will allow the developer to differentiate between them.

Top

Why or what do you mean when you say a Non Relational Database?

As a non-relational database, Brainwave does not work with the concept of tables, indexes and joins. Instead, the simplest comparison of a "meme" in Brainwave is a "cell" in a table in a relational database. Memes are connected together via links. A record in a relational database would be represented in Brainwave as multi-ple links.

Top

Do you mean that there are no Primary or Foreign keys in your database?

That is correct. There are no Primary or Foreign keys in our database. As our database does not require any schema and does not follow any tabular structure for storing data, it eliminates the need to define any primary or foreign key for relating the data. Although each piece of data can be uniquely identified with an identifier.

Top

What are the various data types you support/ your platform can handle?

The database is dynamically-typed. The primitive types supported are (unlimited length unicode) strings, (unlimited length) integers, booleans and files. Compound types like lists, dictionaries or custom classes are broken down into their primitive components before they are stored.

Top

How do you handle integrity/recovery of data?

Currently, the database can be backed up by simply copying the data files at the file-system level. Corrupt indexes are automatically rebuilt during startup. Corrupt data is unrecoverable without a backup.

Top

Do you support mirroring?

Not in the current release.

Top

How easy is it to make the front-end?

Brainwave provides a complete framework for developing the user interface. The framework provides several tools which allows the developer to design the front end easily and quickly.

Top