Softfocus BTree/ISAM v3.1
Manufacturer: Softfocus
E-mail: jon@tap.net
URL: http://www.greymatter.co.uk/gmWEB/Items/BND00133.HTM
Price: single-user $115 US, multi-user $175 US
Reviewer: Edmund P. Morgan
Developers, have you ever needed a way to store data without the overhead of a RDBMS (relational database management system)? You are now in luck, because Softfocus offers a low-cost solution (with source code) for your data management needs.
The documentation is supplied in the form of a 171-page manual, which is brief yet packed with a wealth of knowledge and information. It provides a table of contents, index and appendix. The manual starts with a explanation of the BTree and ISAM (indexed sequential access method) concepts. The next section links the concepts with instructions on implementing applications under this product. Most of the manual is reserved for explaining the API (application programming interface).
The manual provides you with the following information:
Function parameter list
Function return code
Message text of the return code
What the error implies
Multi-user (multi-tasking OS) information about this function
Location of the file pointer after a function call
Other information and descriptions of the function
Any changes from the last version
The manual also provides plenty of examples to guide you through the process of building your application.
Installing this product is a snap—you just copy the files to your hard disk. All of the source code, the Makefile, the configuration file and other files are available to make compilation easy. The product supports a variety of C compilers and environments, and assumes you are familiar with C. I have used this product in various environments (i.e., DOS, Linux, Windows 95, Windows NT, HP-UX, DEC UNIX, SGI Irix, Solaris and Dynix/PTX).
The software distribution is comprised of over 120 files, including over 15,000 lines of source code. This product can support the following:
Database file size limited by disk space
Record size up to 65KB
Virtually unlimited database files open at the same time (depending on OS)
Keys (string, integer, binary, long integer, floating point, user defined)
One index or multiple indices
Duplicate or non duplicate key values
Ascending and descending index
The software via the API allows easy database application development, and only one include file gives you access to the APIs. The APIs are divided into three sections. The first is the high level ISAM APIs. The database layout is based on C structures that you provide when building your application. These APIs give you the ability to write programs without knowing the low level details of database management. These APIs begin with the prefix “bt3” for the function names. This scheme gives you quick access to information only associated with these high level APIs. These APIs are appropriately named so as not to divert your attention from your application. The API function names include names such as create, open, add, close and delete. These functions perform the following tasks:
create: create a database.
open: open a database.
add: add a new record to a database.
delete: remove a record from a database.
close: close a database.
Many other ISAM APIs can help you search through the database, allocate memory, lock and unlock a database or record, flush a record to the database, etc. This product includes the variable length and low level BTree APIs. The variable length API manages data with varying lengths. The low level BTree API handles all of the database management details. When you use the ISAM APIs, they call the BTree APIs. Since I have used only the ISAM APIs directly, I cannot comment much on the use of the other APIs. Each API gives you access to the following information:
Function return code
Message text of the return code
If the examples in the manual are not enough, the distribution comes with plenty of demos and test programs to investigate. The distribution also includes a utility to fix most problems associated with database indexing and corruption. Typically, I call this utility once before manipulating an existing database.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
- Tech Tip: Really Simple HTTP Server with Python
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




1 hour 48 min ago
6 hours 15 min ago
9 hours 51 min ago
10 hours 23 min ago
12 hours 47 min ago
12 hours 50 min ago
12 hours 51 min ago
17 hours 16 min ago
19 hours 7 min ago
1 day 20 min ago