Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Size Limit

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    RE: Size Limit

    Rick,

    Ok, I'm beginning to see the problem. Pardon me for being slow on the uptake. You'll hit the file size limit in Access before you hit the 2 gig record count limit in a DBF table, and you're wanting to know if there's an outside physical limit to the overall "size" of a single DBF table.

    I think another useful question for you to explore is how well Alpha Five (or any other similarly priced package) will function with tables that approach 2 gigs in size. I don't have first hand experience with anything nearly that big.

    -- tom

    Comment


      #17
      RE: Size Limit

      I don't think the 2 gig file size limit is really an issue. You can always partition the records into distinct groups. For example, if your table had a size limit of 2 billion records and you needed to index the entire population of the world, you could divide the database by surnames and have a table for A-E, one for F-M, N-R, and S-Z. With a little effort in coding your users would not even be aware that they were switching tables. Performance, in fact, might be superior to keeping them all in one place.
      And A5v6 supposedly will let us use MySQL tables as a native format. That should make the issue moot.

      Comment


        #18
        RE: Size Limit

        Hi Rick:

        At its core, I believe that Alpha utilizes the Codebase engine from Sequiter Software. Thus, I would assume that the limits that apply to Codebase apply to Alpha as well.

        Further, Alpha apparently supports FoxPro 2.6 type table and index formats (one of several data format options available in Codebase - with the others including Clipper 5.x & dBase IV).

        See: http://www.codebase.com/support/kb/?article=C01089.

        This page describes the various limits of the Codebase product.

        Good Luck,

        George

        Comment


          #19
          RE: Size Limit

          Well, back into the fray....

          I do deal with tables over one gig that would be larger if I hadn't taken steps to reduce their size. I see the issue with large tables being one of network and drive speed rather than one of Alpha capabilities.

          When you start pushing data around in that size chunks, you see performance issues that vary with the overall "busy ness" of the network and what other tasks the servers might be performing.

          When certain Alpha operations are run, temporary tables are used to insure the completion of the operation before the original table is overwritten. If you are dealing with a one gig table, you may have the data written once to a temp table, once back to the original, then the temp table deleted, effectively handling three gigabytes of data.
          There can be only one.

          Comment


            #20
            RE: Size Limit

            This has been a fascinating discussion both from a review of Alpha and human interactions. From a review of Alpha, it shows that there are a lot of people interested in this product and that like the product.

            From a human interaction standpoint, it shows that programmers are very intuitive. One aspect of intuitive thinking is to rapidly draw conclusions. One aspect of rapidly drawing conclusions is that responses to questions often do NOT address the actual question asked. That happened in this case. Despite a multitude of emails, no one actually answered my core question: Is the 2 GIG limit in Alpha a limit on the number of addressable records or a limit on the volume of data stored in a table?

            I am a scientist by initial training, where intuitive thinking is key. I am an attorney by secondary training, where intuitive thinking is key, but logical and responsive written expression is paramount. I conclude (intuitively) that programmers would all make great scientists but lousy witnesses and lousy attorneys. :) thanks, RICK

            Comment


              #21
              RE: Size Limit

              If you're actually moving that much data around, you might want to consider a less traditional approach for storage.

              Most DBMSes use a fixed-length file format. All the DBF based tools (like Alpha, Fox, etc.) and even Access (which simply hides its fixed files in a single OS file).

              There's a whole lot of air in these formats.

              I once built a custom DBMS for storing voter information. State of California, about 15 million voters who would've taken about 1,000 bytes per using a fixed file format (15G total). I got it down to under a gigabyte, but only after really understanding the data and how it was going to be used.

              When you push the boundaries of what standard hardware and software will do, it might be useful to consider unusual approaches.

              Or if you plan a 2-3 year development cycle, you can start now and trust that by the time you're done, 64-bit processors and software will be the norm.

              Comment


                #22
                RE: Size Limit

                Rick Neifeld wrote:
                -------------------------------
                Is the 2 GIG limit in Alpha a limit on the number of addressable records or a limit on the volume of data stored in a table?
                -------------------------------

                Assuming a 32-bit addressing scheme, which I think is safe, it'd be a definite limit on the number of records.

                Data size? Very probably. At some point, some math is going to be done in the indexes to jump to a record--probably its fixed byte position--and that's most likely done using the machine's word size--again, 32 bits.

                However, rather than guess, I just created a new database with 10 character records and am adding 5 billion records to it. I'll let you know what happens.

                It may take a while.

                By the way, if this is really a pressing issue, you can do this experiment yourself. Create a simple table, one field, however long (I used 10 chars because I only have about 70-80Gs available locally and I didn't want to do this over the network) and execute the following commands in A5's interactive window:

                tbl = table.open("table") 'or whatever you named it
                tbl.add_blank_records(5000000000) 'nine zeros.

                I find that experiments like this are FAR more informative than speculation. A lot of practical problems tend to arise before the theoretical ones are reached.

                Comment


                  #23
                  RE: Size Limit

                  Result #1:

                  Trying to add more than 2 billion records results in A5 instantly crashing.

                  Theory: It converts the number to a 4-byte signed integer and ends up trying to add negative records or address negative/out-of-bounds space.

                  Result #2 is pending:

                  Adding 2 billion records seems to speed along. This will give me a 20GB table if it works.

                  Comment


                    #24
                    RE: Size Limit

                    Survey sez!

                    2 Gig file size limit.

                    Alpha stopped with:

                    ERROR: The system cannot find the file specified.

                    This is on a Win2K system with NTFS as a file system.

                    For giggles, I copied the table over and then concatenated it with the original, the idea being to see if Win2K and NTFS could handle a larger than 2G file. The console copy command resulted in...a 2GB file.

                    Everyone tells me that NTFS can handle 16, uh, petabytes. (The one after terabytes.) But you would have to very careful which system calls you use or you'll end up with a situation like the above. Even MS wasn't careful enough. Heh.

                    Note that if A5 supported large than 2GB files, it would have to have separate versions for systems running Fat (2GB), Fat32 (4GB, although they could skip this one, I guess) and NTFS (16PB).

                    I wouldn't imagine this is high on their to-do list.

                    Comment


                      #25
                      RE: Size Limit

                      Blake - Thank you for conducting the definitive test. So Alpha five can not handle more than 2 GIG of data in any table. Too bad. You seem to think this is not a big priority for Alpha. I disagree. Primary reasons people use MS Access, as I understand it, are (1) it comes with MS Office Pro so most business people arleady have it, (2) it includes VBA, and (3) it can be migrated and or used to upscale to SQL Server. Alpha is plugged as a head on competitor to Access. However, unless it can upscale to SQL Server level applications, which in my mind equates to handling huge amounts of data, Alpha will be at a competitive disadvantage. I for one, cannot use Alpha because of its apparent size limitation. I am stuck upscaling to from MS Access to some other database. thanks, RICK

                      Comment


                        #26
                        RE: Size Limit

                        Rick,

                        I believe you can by breaking up your data into more than one table as per Peter Wayne?

                        Dave
                        Dave Mason
                        [email protected]
                        Skype is dave.mason46

                        Comment


                          #27
                          RE: Size Limit

                          Rick,

                          I'm surprised nobody mentioned A5v6 which should be coming out "soon" (whenever that is) with a "client server version" that will work with client server type databases such as MySQL. (Although it is briefly addressed in the link provided by Paul French.)

                          The "native" format will remain .dbf but it will have the ability to work as a front end for the other databases.

                          Of course, there are still a number of issues to be answered such as the speed and stability when working with those client server systems. And, as others alluded to, database programs like Alpha and Access really aren't intended to handle huge amounts of data - they just don't run that efficiently. You might want to consider using something else altogether - yes, it will cost more money up front but it may be worthwhile.

                          NOTE: As I understand it, the initial release of v6 will not include the "client server" capability but my guess is that it shouldn't be far behind.

                          Comment


                            #28
                            RE: Size Limit

                            "You seem to think this is not a big priority for Alpha. I disagree."

                            I can only guess at their priorities.

                            Whether I think it should be a big priority is another issue. Though, I would guess not. 32-bit addressing is fine for the vast majority of apps. 64-bit addressing exists, but in high-end products.

                            "Primary reasons people use MS Access, as I understand it, are (1) it comes with MS Office Pro so most business people arleady have it, (2) it includes VBA, and (3) it can be migrated and or used to upscale to SQL Server."

                            Heh, I would say the primary reason people use Access is that they don't know any better.

                            "However, unless it can upscale to SQL Server level applications,"

                            I don't know if it can or not. It's supposed to be able to. If not this version then the next. The more critical aspect of that is the Client/Server aspect, though, not the size.

                            ""which in my mind equates to handling huge amounts of data,

                            I believe I mentioned State of California voter rolls. Los Angeles county (by far the largest) would fit into a 2GB file. Those divided up naturally by county.

                            That approach wouldn't work with most DBMSes, however. For A5 what I'd do is split the data out into tables and provide 1-to-1 links. The set would be virtually identical to a giant file in practical respects, but would also give me the option of working with smaller, more manipulable files.

                            "Alpha will be at a competitive disadvantage."

                            Alpha is at an enormous competitive disadvantage on much larger grounds. There may be others who look at it and think, "Well, I'd use it, but I need "2GB files" but not many.

                            "I for one, cannot use Alpha because of its apparent size limitation."

                            There are ways to get around the limitation.

                            Believe me, I'm not trying to talk you into using A5. I would have grave reservations about using A5, Access, or any of these personal databases on information that size. They'd probably store it all right, but actually working with it--especially if you needed big chunks at a time--would be torture. (For that matter, Oracle, Sybase, SQL Server, MySQL, Interbase--they wouldn't be greased lightning either, unless you were ready to shell out the big bucks on the hardware and people to maintain it.)

                            "I am stuck upscaling to from MS Access to some other database."

                            That's a state of mind, really. If you really wanted to use A5 to do it, you probably could.

                            Comment

                            Working...
                            X