Menu

Persistence

1999-12-10
2000-09-26
1 2 > >> (Page 1 of 2)
  • Frank V. Castellucci

    The CoreLinux++ framework (libcoreframework++) should include a Persistence Abstraction.

     
    • Frank V. Castellucci

      The CoreLinux++ framework will include at least one (1) persistence implementation.

       
      • Daniel Silverstone

        I am working on some code (at the moment separately to CoreLinux++) but would be interested in CoreLinux++'s team looking at it and critiqueing it at some point.

        (Sourceforge project CommonC++)

        Dan (Kinnison)

         
        • Frank V. Castellucci

          I looked at the code and sent you an e-mail. I am not quite sure what type of comments you are looking for, such as style, flexibility, etc.

           
          • Daniel Silverstone

            I'm posting this here as my e-mail is dodgy and whilst I can read - writing back is hard :(

            I agree that the underlying principles described in your email are sound and flexible - however, as a programmer in a games company - (always pushed to produce code on schedule) - it is sometimes necessary to take a step back from the elegant and "perfect" solutions - to one which will "do" in order to fulfil requirements. Persistence in the sense you have addressed it - is well worth the approach you have taken, however my tack was from the "save-game-state" point of view - where my approach works. For my needs, the abstracted DBMS/Store/Cursor form was well over-engineered.

            It is my concern that should you only provide the "elegant" solutions, people will be less inclined to use them, than if you also provide smaller - "quick&dirty" option. My Persistence engine is small, easily extensible I hope, and once my core classes are defined - will provide a simple base on which to build small programs (or games) needing persistence. The company I work for already uses a similar persistence engine in some very successful games - so it is "tried and tested" as it were.

            Perhaps our projects are too far apart to work together - I am looking to produce a set of small - useful libraries which work together, whereas CoreLinux++ is looking for a catchall set of code.

            Share and Enjoy
            Daniel

             
            • Frank V. Castellucci

              If I understand your concern correctly, people are more inclinded to use "quick and dirty" solutions.

              I don't share your concern, I think that given a problem domain which is looking for many points of solution they will opt for the elegant approach.

              I also think that there are many more things to consider than what you are indicating. As I posted in my e-mail, some things don't scale well. If you provide a class library for persistence and it goes to hell in a hand-basket when the data is greater than what memory can hold, your solution does not work in that problem domain.

              In addition I don't understand your comment that CoreLinux++ is trying to be a "catchall set of code"???

              The core will contain fundamental objects and patterns, external frameworks will build on those core constructs.

               
              • Daniel Silverstone

                My problem with the Elegant solution has always been ease of use.

                I agree that given lots of needs, the most elegant solution is the best, however, I also have to say that sometimes a system where I only have to think about one or two variables, rather than balancing several - is much more preferable.

                Perhaps I misunderstood you when you said that the user of the code would fill in the persistence framework as they need.
                Will you be providing a standard implementation, say for savegames?

                 
                • Frank V. Castellucci

                  We will provide a persistence implementation with the initial framework.

                  What you have is fundementally what I had in mind, but we will base it on the use cases of Persistence minimals. So what it is, is TBD.

                   
                  • Daniel Silverstone

                    Sounds cool and funky :)

                     
                    • Frank V. Castellucci

                      You might want to join our mailing list just to see the stream (although it is not the Grand Central of lists) of what will become the reqiurement.

                       
    • Frank V. Castellucci

      The analysis for the persistence abstraction will consider the various potentials for implementation target stores.

       
    • Frank V. Castellucci

      The analysis will consider file based data storage.

       
    • Frank V. Castellucci

      The analysis will consider RDMBS data storage.

       
    • Frank V. Castellucci

      The analysis will consider OODBMS data storage.

       
    • Frank V. Castellucci

      The analysis will consider structured text data storage.

       
    • Frank V. Castellucci

      The analysis will consider the fact that many forms of storage work on keyed values.

       
    • Frank V. Castellucci

      The analysis will consider clustering of information.

       
    • Frank V. Castellucci

      The analysis will consider single phase and multi phase commit.

       
    • Frank V. Castellucci

      The analysis will consider rolling back read and write activity (rw used here for lack of domain terminology).

       
    • Frank V. Castellucci

      The analysis will consider remote data storage.

       
    • Frank V. Castellucci

      The analysis will consider internationalization of content potential.

       
    • Frank V. Castellucci

      The analysis will consider scalability.

       
    • Frank V. Castellucci

      The analysis will consider performance.

       
    • Frank V. Castellucci

      Persistence should provide abstractions for classes whose data is to be read or written.

       
    • Frank V. Castellucci

      Persistence should provide abstractions for the storage management interface.

       
1 2 > >> (Page 1 of 2)

Log in to post a comment.

MongoDB Logo MongoDB